Index: src/interpreter/interpreter.cc |
diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc |
index 81aecafecfdfbba9b465c7f54b6f1b685f6bf5e7..e3bafa63140342c9b54ea441c7efa6826a915ad7 100644 |
--- a/src/interpreter/interpreter.cc |
+++ b/src/interpreter/interpreter.cc |
@@ -76,10 +76,16 @@ void Interpreter::Initialize() { |
#define GENERATE_CODE(Name, ...) \ |
{ \ |
if (Bytecodes::BytecodeHasHandler(Bytecode::k##Name, operand_scale)) { \ |
- InterpreterAssembler assembler(isolate_, &zone, Bytecode::k##Name, \ |
+ InterpreterDispatchDescriptor descriptor(isolate_); \ |
+ compiler::CodeAssemblerState state( \ |
Michael Starzinger
2016/11/15 11:53:08
Actually, come to think of it, we could use the sa
Igor Sheludko
2016/11/15 13:06:35
Then we will be passing a pointer to not yet const
Jakob Kummerow
2016/11/15 13:40:32
For now that would work; but our plans for further
|
+ isolate_, &zone, descriptor, \ |
+ Code::ComputeFlags(Code::BYTECODE_HANDLER), \ |
+ Bytecodes::ToString(Bytecode::k##Name), \ |
+ Bytecodes::ReturnCount(Bytecode::k##Name)); \ |
+ InterpreterAssembler assembler(&state, Bytecode::k##Name, \ |
operand_scale); \ |
Do##Name(&assembler); \ |
- Handle<Code> code = assembler.GenerateCode(); \ |
+ Handle<Code> code = state.GenerateCode(); \ |
size_t index = GetDispatchTableIndex(Bytecode::k##Name, operand_scale); \ |
dispatch_table_[index] = code->entry(); \ |
TraceCodegen(code); \ |