Index: src/mips64/builtins-mips64.cc |
diff --git a/src/mips64/builtins-mips64.cc b/src/mips64/builtins-mips64.cc |
index 43b4df3baf30dc9e5b1ce862130eb16026e43c40..932881c484225376a71f94f401147a413b73dc7e 100644 |
--- a/src/mips64/builtins-mips64.cc |
+++ b/src/mips64/builtins-mips64.cc |
@@ -1028,8 +1028,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { |
// Load bytecode offset and dispatch table into registers. |
__ LoadRoot(kInterpreterAccumulatorRegister, Heap::kUndefinedValueRootIndex); |
- __ Daddu(kInterpreterRegisterFileRegister, fp, |
- Operand(InterpreterFrameConstants::kRegisterFilePointerFromFp)); |
+ __ Daddu(a7, fp, Operand(InterpreterFrameConstants::kRegisterFileFromFp)); |
__ li(kInterpreterBytecodeOffsetRegister, |
Operand(BytecodeArray::kHeaderSize - kHeapObjectTag)); |
__ li(kInterpreterDispatchTableRegister, |
@@ -1056,12 +1055,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). |
@@ -1140,18 +1133,14 @@ void Builtins::Generate_InterpreterPushArgsAndConstruct(MacroAssembler* masm) { |
static void Generate_EnterBytecodeDispatch(MacroAssembler* masm) { |
- // Initialize register file register and dispatch table register. |
- __ Daddu(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. |
- __ ld( |
- kInterpreterBytecodeArrayRegister, |
- MemOperand(kInterpreterRegisterFileRegister, |
- InterpreterFrameConstants::kBytecodeArrayFromRegisterPointer)); |
+ __ ld(kInterpreterBytecodeArrayRegister, |
+ MemOperand(fp, InterpreterFrameConstants::kBytecodeArrayFromFp)); |
if (FLAG_debug_code) { |
// Check function data field is actually a BytecodeArray object. |
@@ -1165,9 +1154,7 @@ static void Generate_EnterBytecodeDispatch(MacroAssembler* masm) { |
// Get the target bytecode offset from the frame. |
__ ld(kInterpreterBytecodeOffsetRegister, |
- MemOperand( |
- kInterpreterRegisterFileRegister, |
- InterpreterFrameConstants::kBytecodeOffsetFromRegisterPointer)); |
+ MemOperand(fp, InterpreterFrameConstants::kBytecodeOffsetFromFp)); |
__ SmiUntag(kInterpreterBytecodeOffsetRegister); |
// Dispatch to the target bytecode. |