Index: src/x64/builtins-x64.cc |
diff --git a/src/x64/builtins-x64.cc b/src/x64/builtins-x64.cc |
index 32a57398a62980fc357f3d490e4917b6b2752593..702e5313412899de11265e451646074a5c7e7145 100644 |
--- a/src/x64/builtins-x64.cc |
+++ b/src/x64/builtins-x64.cc |
@@ -617,6 +617,10 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { |
__ Push(rdi); // Callee's JS function. |
__ Push(rdx); // Callee's new target. |
+ // Push dispatch table pointer. |
+ __ Move(rax, ExternalReference::interpreter_dispatch_table_address( |
+ masm->isolate())); |
+ __ Push(rax); |
// Push zero for bytecode array offset. |
__ Push(Immediate(0)); |
@@ -677,9 +681,8 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { |
Immediate(InterpreterFrameConstants::kRegisterFilePointerFromFp)); |
__ movp(kInterpreterBytecodeOffsetRegister, |
Immediate(BytecodeArray::kHeaderSize - kHeapObjectTag)); |
- __ Move( |
- kInterpreterDispatchTableRegister, |
- ExternalReference::interpreter_dispatch_table_address(masm->isolate())); |
+ __ movp(kInterpreterDispatchTableRegister, |
+ Operand(rbp, InterpreterFrameConstants::kDispatchTableFromFp)); |
// Dispatch to the first bytecode handler for the function. |
__ movzxbp(rbx, Operand(kInterpreterBytecodeArrayRegister, |