| Index: src/mips/builtins-mips.cc
|
| diff --git a/src/mips/builtins-mips.cc b/src/mips/builtins-mips.cc
|
| index 6fed89cd566d4af1624b96b7c3535c24b7285787..4cc4b90355324e561712f0ff0aa3aedae450ff45 100644
|
| --- a/src/mips/builtins-mips.cc
|
| +++ b/src/mips/builtins-mips.cc
|
| @@ -784,6 +784,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
|
| @@ -801,6 +802,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
|
|
| __ Push(ra, fp, cp, a1);
|
| __ Addu(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.
|
| @@ -866,9 +868,9 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
|
|
| // Load bytecode offset and dispatch table into registers.
|
| __ LoadRoot(kInterpreterAccumulatorRegister, Heap::kUndefinedValueRootIndex);
|
| - __ Subu(
|
| - kInterpreterRegisterFileRegister, fp,
|
| - Operand(kPointerSize + StandardFrameConstants::kFixedFrameSizeFromFp));
|
| + __ Subu(kInterpreterRegisterFileRegister, fp,
|
| + Operand(2 * kPointerSize +
|
| + StandardFrameConstants::kFixedFrameSizeFromFp));
|
| __ li(kInterpreterBytecodeOffsetRegister,
|
| Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
|
| __ LoadRoot(kInterpreterDispatchTableRegister,
|
|
|