Index: src/mips64/builtins-mips64.cc |
diff --git a/src/mips64/builtins-mips64.cc b/src/mips64/builtins-mips64.cc |
index 843daa1ee5cfb495a0c0bb9c280e022e714ff6af..c576183a2627bf5ec1745a1b51d5d9f33d44c033 100644 |
--- a/src/mips64/builtins-mips64.cc |
+++ b/src/mips64/builtins-mips64.cc |
@@ -993,8 +993,11 @@ void Builtins::Generate_InterpreterExitTrampoline(MacroAssembler* masm) { |
// Leave the frame (also dropping the register file). |
__ LeaveFrame(StackFrame::JAVA_SCRIPT); |
- // Drop receiver + arguments. |
- __ Drop(1); // TODO(rmcilroy): Get number of arguments from BytecodeArray. |
+ |
+ // Drop receiver + arguments and return. |
+ __ lw(at, FieldMemOperand(kInterpreterBytecodeArrayRegister, |
+ BytecodeArray::kParameterSizeOffset)); |
+ __ Daddu(sp, sp, at); |
__ Jump(ra); |
} |