| Index: src/mips64/builtins-mips64.cc
 | 
| diff --git a/src/mips64/builtins-mips64.cc b/src/mips64/builtins-mips64.cc
 | 
| index 0310d0d1885b94e4722c79b9cfd66d7fbdbb5723..2d27f90c2ad1a047efd02bb716bec6276edd8528 100644
 | 
| --- a/src/mips64/builtins-mips64.cc
 | 
| +++ b/src/mips64/builtins-mips64.cc
 | 
| @@ -967,11 +967,6 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
 | 
|    __ Push(ra, fp, cp, a1);
 | 
|    __ Daddu(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp));
 | 
|  
 | 
| -  // 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.
 | 
|    __ ld(a0, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset));
 | 
| @@ -988,6 +983,9 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
 | 
|                Operand(BYTECODE_ARRAY_TYPE));
 | 
|    }
 | 
|  
 | 
| +  // Push new.target, bytecode array and zero for bytecode array offset.
 | 
| +  __ Push(a3, kInterpreterBytecodeArrayRegister, zero_reg);
 | 
| +
 | 
|    // Allocate the local and temporary register file on the stack.
 | 
|    {
 | 
|      // Load frame size (word) from the BytecodeArray object.
 | 
| @@ -1028,8 +1026,9 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
 | 
|             Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp));
 | 
|    __ li(kInterpreterBytecodeOffsetRegister,
 | 
|          Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
 | 
| -  __ lw(kInterpreterDispatchTableRegister,
 | 
| -        MemOperand(fp, InterpreterFrameConstants::kDispatchTableFromFp));
 | 
| +  __ li(kInterpreterDispatchTableRegister,
 | 
| +        Operand(ExternalReference::interpreter_dispatch_table_address(
 | 
| +            masm->isolate())));
 | 
|  
 | 
|    // Dispatch to the first bytecode handler for the function.
 | 
|    __ Daddu(a0, kInterpreterBytecodeArrayRegister,
 | 
| @@ -1142,12 +1141,10 @@ static void Generate_EnterBytecodeDispatch(MacroAssembler* masm) {
 | 
|                     InterpreterFrameConstants::kContextFromRegisterPointer));
 | 
|  
 | 
|    // Get the bytecode array pointer from the frame.
 | 
| -  __ ld(a1,
 | 
| -        MemOperand(kInterpreterRegisterFileRegister,
 | 
| -                   InterpreterFrameConstants::kFunctionFromRegisterPointer));
 | 
| -  __ ld(a1, FieldMemOperand(a1, JSFunction::kSharedFunctionInfoOffset));
 | 
| -  __ ld(kInterpreterBytecodeArrayRegister,
 | 
| -        FieldMemOperand(a1, SharedFunctionInfo::kFunctionDataOffset));
 | 
| +  __ ld(
 | 
| +      kInterpreterBytecodeArrayRegister,
 | 
| +      MemOperand(kInterpreterRegisterFileRegister,
 | 
| +                 InterpreterFrameConstants::kBytecodeArrayFromRegisterPointer));
 | 
|  
 | 
|    if (FLAG_debug_code) {
 | 
|      // Check function data field is actually a BytecodeArray object.
 | 
| 
 |