| Index: src/mips64/builtins-mips64.cc
|
| diff --git a/src/mips64/builtins-mips64.cc b/src/mips64/builtins-mips64.cc
|
| index 3b1628eed37c22751615516241295cac0a461a2e..c55ef2f4a7b5c5b3c21bfd5b21e196db66553656 100644
|
| --- a/src/mips64/builtins-mips64.cc
|
| +++ b/src/mips64/builtins-mips64.cc
|
| @@ -968,10 +968,11 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
|
|
| __ Push(ra, fp, cp, a1);
|
| __ Daddu(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp));
|
| - __ Push(a3);
|
|
|
| - // Push zero for bytecode array offset.
|
| - __ Push(zero_reg);
|
| + // Push new.target, dispatch table pointer and zero for bytecode array offset.
|
| + __ li(a0, Operand(ExternalReference::interpreter_dispatch_table_address(
|
| + masm->isolate())));
|
| + __ Push(a3, a0, zero_reg);
|
|
|
| // Get the bytecode array from the function object and load the pointer to the
|
| // first entry into kInterpreterBytecodeRegister.
|
| @@ -1029,9 +1030,8 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
| Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp));
|
| __ li(kInterpreterBytecodeOffsetRegister,
|
| Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
|
| - __ li(kInterpreterDispatchTableRegister,
|
| - Operand(ExternalReference::interpreter_dispatch_table_address(
|
| - masm->isolate())));
|
| + __ lw(kInterpreterDispatchTableRegister,
|
| + MemOperand(fp, InterpreterFrameConstants::kDispatchTableFromFp));
|
|
|
| // Dispatch to the first bytecode handler for the function.
|
| __ Daddu(a0, kInterpreterBytecodeArrayRegister,
|
|
|