Chromium Code Reviews| Index: src/interpreter/interpreter.cc |
| diff --git a/src/interpreter/interpreter.cc b/src/interpreter/interpreter.cc |
| index b6c9ebfb6869562da930ea5350b6050eca71095e..d3f02f0c449207ea17c17c674205688ed877a4e3 100644 |
| --- a/src/interpreter/interpreter.cc |
| +++ b/src/interpreter/interpreter.cc |
| @@ -30,29 +30,41 @@ void Interpreter::Initialize(bool create_heap_objects) { |
| static_cast<int>(Bytecode::kLast) + 1, TENURED); |
| isolate_->heap()->public_set_interpreter_table(*handler_table); |
| -#define GENERATE_CODE(Name, _) \ |
| - { \ |
| - compiler::InterpreterAssembler assembler(isolate_, &zone, \ |
| - Bytecode::k##Name); \ |
| - Do##Name(&assembler); \ |
| - Handle<Code> code = assembler.GenerateCode(); \ |
| - handler_table->set(static_cast<int>(Bytecode::k##Name), *code); \ |
| - } |
| +#define GENERATE_CODE(Name, ...) \ |
| + { \ |
| + compiler::InterpreterAssembler assembler(isolate_, &zone, \ |
| + Bytecode::k##Name); \ |
| + Do##Name(&assembler); \ |
| + Handle<Code> code = assembler.GenerateCode(); \ |
| + handler_table->set(static_cast<int>(Bytecode::k##Name), *code); \ |
| + } |
| BYTECODE_LIST(GENERATE_CODE) |
| #undef GENERATE_CODE |
| } |
| } |
| +// LoadLiteral0 <dst> |
| +// |
| // Load literal '0' into the register index specified by the bytecode's |
| // argument. |
|
rmcilroy
2015/07/28 08:58:12
/s/the register index specified by the bytecode's
oth
2015/07/28 13:24:14
Done.
|
| void Interpreter::DoLoadLiteral0(compiler::InterpreterAssembler* assembler) { |
| - Node* register_index = __ BytecodeArg(0); |
| + Node* register_index = __ BytecodeOperand(0); |
| __ StoreRegister(__ NumberConstant(0), register_index); |
| __ Dispatch(); |
| } |
| +// LoadSmi8 <dst>, <imm8> |
| +// |
| +// Load an 8-bit integer literal into destination register as a Smi. |
| +void Interpreter::DoLoadSmi8(compiler::InterpreterAssembler* assembler) { |
| + UNIMPLEMENTED(); |
|
rmcilroy
2015/07/28 08:58:12
nit - just make this //TODO(rmcilroy) Implement Lo
oth
2015/07/28 13:24:14
Done.
|
| +} |
| + |
| + |
| +// Return |
| +// |
| // Return the value in register 0. |
| void Interpreter::DoReturn(compiler::InterpreterAssembler* assembler) { |
| // TODO(rmcilroy) Jump to exit trampoline. |