summaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/compiler/code-assembler-tester.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/cctest/compiler/code-assembler-tester.h')
-rw-r--r--deps/v8/test/cctest/compiler/code-assembler-tester.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/deps/v8/test/cctest/compiler/code-assembler-tester.h b/deps/v8/test/cctest/compiler/code-assembler-tester.h
index 8bfdb72ea1..7a75441ad0 100644
--- a/deps/v8/test/cctest/compiler/code-assembler-tester.h
+++ b/deps/v8/test/cctest/compiler/code-assembler-tester.h
@@ -6,6 +6,7 @@
#define V8_TEST_CCTEST_COMPILER_CODE_ASSEMBLER_TESTER_H_
#include "src/compiler/code-assembler.h"
+#include "src/compiler/raw-machine-assembler.h"
#include "src/handles.h"
#include "src/interface-descriptors.h"
#include "src/isolate.h"
@@ -30,15 +31,23 @@ class CodeAssemblerTester {
scope_(isolate),
state_(isolate, &zone_, parameter_count, kind, "test") {}
- // This constructor is intended to be used for creating code objects with
- // specific flags.
CodeAssemblerTester(Isolate* isolate, Code::Kind kind)
: zone_(isolate->allocator(), ZONE_NAME),
scope_(isolate),
state_(isolate, &zone_, 0, kind, "test") {}
+ CodeAssemblerTester(Isolate* isolate, CallDescriptor* call_descriptor)
+ : zone_(isolate->allocator(), ZONE_NAME),
+ scope_(isolate),
+ state_(isolate, &zone_, call_descriptor, Code::STUB, "test", 0, -1) {}
+
CodeAssemblerState* state() { return &state_; }
+ // Direct low-level access to the machine assembler, for testing only.
+ RawMachineAssembler* raw_assembler_for_testing() {
+ return state_.raw_assembler_.get();
+ }
+
Handle<Code> GenerateCode() { return CodeAssembler::GenerateCode(&state_); }
Handle<Code> GenerateCodeCloseAndEscape() {