Index: src/compiler/interpreter-assembler.h |
diff --git a/src/compiler/interpreter-assembler.h b/src/compiler/interpreter-assembler.h |
index 2541d2607085c0b5247b01dc1bed8a7d05eae415..91ec9dbb692003a7f2e5e538bea7565bdc3621de 100644 |
--- a/src/compiler/interpreter-assembler.h |
+++ b/src/compiler/interpreter-assembler.h |
@@ -37,7 +37,10 @@ class InterpreterAssembler { |
Handle<Code> GenerateCode(); |
- // Returns the Idx immediate for bytecode operand |operand_index| in the |
+ // Returns the count immediate for bytecode operand |operand_index| in the |
+ // current bytecode. |
+ Node* BytecodeOperandCount(int operand_index); |
+ // Returns the index immediate for bytecode operand |operand_index| in the |
// current bytecode. |
Node* BytecodeOperandIdx(int operand_index); |
// Returns the Imm8 immediate for bytecode operand |operand_index| in the |
@@ -55,6 +58,10 @@ class InterpreterAssembler { |
Node* LoadRegister(Node* reg_index); |
Node* StoreRegister(Node* value, Node* reg_index); |
+ // Returns the location in memory of the register |reg_index| in the |
+ // interpreter register file. |
+ Node* RegisterLocation(Node* reg_index); |
+ |
// Constants. |
Node* Int32Constant(int value); |
Node* IntPtrConstant(intptr_t value); |
@@ -65,6 +72,11 @@ class InterpreterAssembler { |
Node* SmiTag(Node* value); |
Node* SmiUntag(Node* value); |
+ // Basic arithmetic operations. |
+ Node* IntPtrAdd(Node* a, Node* b); |
+ Node* IntPtrSub(Node* a, Node* b); |
+ Node* WordShl(Node* value, int shift); |
+ |
// Load constant at |index| in the constant pool. |
Node* LoadConstantPoolEntry(Node* index); |
@@ -80,6 +92,9 @@ class InterpreterAssembler { |
// Load the TypeFeedbackVector for the current function. |
Node* LoadTypeFeedbackVector(); |
+ // Call a JS function. |
+ Node* CallJS(Node* function, Node* first_arg, Node* last_arg); |
+ |
// Call an IC code stub. |
Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node* arg1, |
Node* arg2, Node* arg3, Node* arg4); |