Index: src/mips64/builtins-mips64.cc |
diff --git a/src/mips64/builtins-mips64.cc b/src/mips64/builtins-mips64.cc |
index dee904de63b40f14b9adb2a219ecb6392a79c2e6..5858101f92208a22fe1f3f864dd39c033a91aa5b 100644 |
--- a/src/mips64/builtins-mips64.cc |
+++ b/src/mips64/builtins-mips64.cc |
@@ -762,6 +762,9 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { |
__ Daddu(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. |
__ ld(a0, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset)); |
@@ -826,9 +829,8 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { |
// Load bytecode offset and dispatch table into registers. |
__ LoadRoot(kInterpreterAccumulatorRegister, Heap::kUndefinedValueRootIndex); |
- __ Dsubu(kInterpreterRegisterFileRegister, fp, |
- Operand(2 * kPointerSize + |
- StandardFrameConstants::kFixedFrameSizeFromFp)); |
+ __ Daddu(kInterpreterRegisterFileRegister, fp, |
+ Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp)); |
__ li(kInterpreterBytecodeOffsetRegister, |
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag)); |
__ LoadRoot(kInterpreterDispatchTableRegister, |