Index: src/compiler/interpreter-assembler.h |
diff --git a/src/compiler/interpreter-assembler.h b/src/compiler/interpreter-assembler.h |
index 11e3a9127c72fd1afc1aac367559a2fdac51ac57..5401457752ae89c75444212cdfb5986e1aec7dad 100644 |
--- a/src/compiler/interpreter-assembler.h |
+++ b/src/compiler/interpreter-assembler.h |
@@ -60,8 +60,11 @@ class InterpreterAssembler { |
void SetContext(Node* value); |
// Loads from and stores to the interpreter register file. |
+ Node* LoadRegister(int offset); |
Node* LoadRegister(interpreter::Register reg); |
Node* LoadRegister(Node* reg_index); |
+ Node* StoreRegister(Node* value, int offset); |
+ Node* StoreRegister(Node* value, interpreter::Register reg); |
Node* StoreRegister(Node* value, Node* reg_index); |
// Returns the location in memory of the register |reg_index| in the |
@@ -163,6 +166,11 @@ class InterpreterAssembler { |
// Returns a raw pointer to first entry in the interpreter dispatch table. |
Node* DispatchTableRawPointer(); |
+ // Saves and restores interpreter bytecode offset to the interpreter stack |
+ // frame when performing a call. |
+ void CallPrologue(); |
+ void CallEpilogue(); |
+ |
// Returns the offset of register |index| relative to RegisterFilePointer(). |
Node* RegisterFrameOffset(Node* index); |
@@ -173,8 +181,6 @@ class InterpreterAssembler { |
Node* CallN(CallDescriptor* descriptor, Node* code_target, Node** args); |
Node* CallIC(CallInterfaceDescriptor descriptor, Node* target, Node** args); |
- Node* CallJSBuiltin(int context_index, Node* receiver, Node** js_args, |
- int js_arg_count); |
// Returns BytecodeOffset() advanced by delta bytecodes. Note: this does not |
// update BytecodeOffset() itself. |
@@ -193,8 +199,11 @@ class InterpreterAssembler { |
interpreter::Bytecode bytecode_; |
base::SmartPointer<RawMachineAssembler> raw_assembler_; |
+ |
Node* accumulator_; |
+ Node* bytecode_offset_; |
Node* context_; |
+ |
bool code_generated_; |
DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); |