| 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);
|
|
|