aboutsummaryrefslogtreecommitdiff
path: root/src/interpreter/interpreter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/interpreter/interpreter.h')
-rw-r--r--src/interpreter/interpreter.h13
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