diff options
Diffstat (limited to 'src/interpreter/interpreter.h')
-rw-r--r-- | src/interpreter/interpreter.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/interpreter/interpreter.h b/src/interpreter/interpreter.h index b10ae2e4..ac36815f 100644 --- a/src/interpreter/interpreter.h +++ b/src/interpreter/interpreter.h @@ -76,6 +76,14 @@ class Interpreter { BYTECODE_LIST(DECLARE_BYTECODE_HANDLER_GENERATOR) #undef DECLARE_BYTECODE_HANDLER_GENERATOR + typedef void (Interpreter::*BytecodeGeneratorFunc)(InterpreterAssembler*); + + // Generates handler for given |bytecode| and |operand_scale| using + // |generator| and installs it into the dispatch table. + void InstallBytecodeHandler(Zone* zone, Bytecode bytecode, + OperandScale operand_scale, + BytecodeGeneratorFunc generator); + // Generates code to perform the binary operation via |Generator|. template <class Generator> void DoBinaryOpWithFeedback(InterpreterAssembler* assembler); @@ -140,9 +148,8 @@ class Interpreter { InterpreterAssembler* assembler); // Generates code to load a global. - compiler::Node* BuildLoadGlobal(Callable ic, compiler::Node* context, - compiler::Node* feedback_slot, - InterpreterAssembler* assembler); + void BuildLoadGlobal(int slot_operand_index, int name_operand_index, + TypeofMode typeof_mode, InterpreterAssembler* assembler); // Generates code to prepare the result for ForInPrepare. Cache data // are placed into the consecutive series of registers starting at |