| Index: src/mips/builtins-mips.cc | 
| diff --git a/src/mips/builtins-mips.cc b/src/mips/builtins-mips.cc | 
| index 693b29d295527a4f40c97919a548e6c5c8b4bb0a..b7fedf9bee99017e354bb85b8970a98e8a86a4d8 100644 | 
| --- a/src/mips/builtins-mips.cc | 
| +++ b/src/mips/builtins-mips.cc | 
| @@ -1039,8 +1039,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { | 
|  | 
| // Load bytecode offset and dispatch table into registers. | 
| __ LoadRoot(kInterpreterAccumulatorRegister, Heap::kUndefinedValueRootIndex); | 
| -  __ Addu(kInterpreterRegisterFileRegister, fp, | 
| -          Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp)); | 
| +  __ Addu(t3, fp, Operand(InterpreterFrameConstants::kRegisterFileFromFp)); | 
| __ li(kInterpreterBytecodeOffsetRegister, | 
| Operand(BytecodeArray::kHeaderSize - kHeapObjectTag)); | 
| __ li(kInterpreterDispatchTableRegister, | 
| @@ -1067,12 +1066,6 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { | 
|  | 
|  | 
| void Builtins::Generate_InterpreterExitTrampoline(MacroAssembler* masm) { | 
| -  // TODO(rmcilroy): List of things not currently dealt with here but done in | 
| -  // fullcodegen's EmitReturnSequence. | 
| -  //  - Supporting FLAG_trace for Runtime::TraceExit. | 
| -  //  - Support profiler (specifically decrementing profiling_counter | 
| -  //    appropriately and calling out to HandleInterrupts if necessary). | 
| - | 
| // The return value is in accumulator, which is already in v0. | 
|  | 
| // Leave the frame (also dropping the register file). | 
| @@ -1151,18 +1144,14 @@ void Builtins::Generate_InterpreterPushArgsAndConstruct(MacroAssembler* masm) { | 
|  | 
|  | 
| static void Generate_EnterBytecodeDispatch(MacroAssembler* masm) { | 
| -  // Initialize register file register and dispatch table register. | 
| -  __ Addu(kInterpreterRegisterFileRegister, fp, | 
| -          Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp)); | 
| +  // Initialize the dispatch table register. | 
| __ li(kInterpreterDispatchTableRegister, | 
| Operand(ExternalReference::interpreter_dispatch_table_address( | 
| masm->isolate()))); | 
|  | 
| // Get the bytecode array pointer from the frame. | 
| -  __ lw( | 
| -      kInterpreterBytecodeArrayRegister, | 
| -      MemOperand(kInterpreterRegisterFileRegister, | 
| -                 InterpreterFrameConstants::kBytecodeArrayFromRegisterPointer)); | 
| +  __ lw(kInterpreterBytecodeArrayRegister, | 
| +        MemOperand(fp, InterpreterFrameConstants::kBytecodeArrayFromFp)); | 
|  | 
| if (FLAG_debug_code) { | 
| // Check function data field is actually a BytecodeArray object. | 
| @@ -1176,9 +1165,7 @@ static void Generate_EnterBytecodeDispatch(MacroAssembler* masm) { | 
|  | 
| // Get the target bytecode offset from the frame. | 
| __ lw(kInterpreterBytecodeOffsetRegister, | 
| -        MemOperand( | 
| -            kInterpreterRegisterFileRegister, | 
| -            InterpreterFrameConstants::kBytecodeOffsetFromRegisterPointer)); | 
| +        MemOperand(fp, InterpreterFrameConstants::kBytecodeOffsetFromFp)); | 
| __ SmiUntag(kInterpreterBytecodeOffsetRegister); | 
|  | 
| // Dispatch to the target bytecode. | 
|  |