| Index: src/mips64/builtins-mips64.cc
|
| diff --git a/src/mips64/builtins-mips64.cc b/src/mips64/builtins-mips64.cc
|
| index a5d1c53adf1701fe4b9d0e69dec20f4769e48fad..81698a7c7cbfc1f9aca885e282e5e4554944cff8 100644
|
| --- a/src/mips64/builtins-mips64.cc
|
| +++ b/src/mips64/builtins-mips64.cc
|
| @@ -780,6 +780,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
|
| //
|
| // The live registers are:
|
| // o a1: the JS function object being called.
|
| +// o a3: the new target
|
| // o cp: our context
|
| // o fp: the caller's frame pointer
|
| // o sp: stack pointer
|
| @@ -797,6 +798,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
|
|
| __ Push(ra, fp, cp, a1);
|
| __ Daddu(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp));
|
| + __ Push(a3);
|
|
|
| // Get the bytecode array from the function object and load the pointer to the
|
| // first entry into kInterpreterBytecodeRegister.
|
| @@ -862,9 +864,9 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
|
|
| // Load bytecode offset and dispatch table into registers.
|
| __ LoadRoot(kInterpreterAccumulatorRegister, Heap::kUndefinedValueRootIndex);
|
| - __ Dsubu(
|
| - kInterpreterRegisterFileRegister, fp,
|
| - Operand(kPointerSize + StandardFrameConstants::kFixedFrameSizeFromFp));
|
| + __ Dsubu(kInterpreterRegisterFileRegister, fp,
|
| + Operand(2 * kPointerSize +
|
| + StandardFrameConstants::kFixedFrameSizeFromFp));
|
| __ li(kInterpreterBytecodeOffsetRegister,
|
| Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
|
| __ LoadRoot(kInterpreterDispatchTableRegister,
|
|
|