Index: src/mips/builtins-mips.cc |
diff --git a/src/mips/builtins-mips.cc b/src/mips/builtins-mips.cc |
index a393f2c4098ada8b4479b0de64d9409e7f8b0090..673c31d0b3b6e764ef52af4f180cce2943b8d2b0 100644 |
--- a/src/mips/builtins-mips.cc |
+++ b/src/mips/builtins-mips.cc |
@@ -771,6 +771,9 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { |
__ Addu(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp)); |
__ Push(a3); |
+ // Push zero for bytecode array offset. |
+ __ Push(zero_reg); |
+ |
// Get the bytecode array from the function object and load the pointer to the |
// first entry into kInterpreterBytecodeRegister. |
__ lw(a0, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset)); |
@@ -835,9 +838,8 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { |
// Load bytecode offset and dispatch table into registers. |
__ LoadRoot(kInterpreterAccumulatorRegister, Heap::kUndefinedValueRootIndex); |
- __ Subu(kInterpreterRegisterFileRegister, fp, |
- Operand(2 * kPointerSize + |
- StandardFrameConstants::kFixedFrameSizeFromFp)); |
+ __ Addu(kInterpreterRegisterFileRegister, fp, |
+ Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp)); |
__ li(kInterpreterBytecodeOffsetRegister, |
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag)); |
__ LoadRoot(kInterpreterDispatchTableRegister, |