Index: src/x87/builtins-x87.cc |
diff --git a/src/x87/builtins-x87.cc b/src/x87/builtins-x87.cc |
index 319f99a54f0620724fc7a7dcb986ac2c0037ff7f..d34783c797272b1a4427bc5fd7569b74c5241e65 100644 |
--- a/src/x87/builtins-x87.cc |
+++ b/src/x87/builtins-x87.cc |
@@ -573,8 +573,8 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { |
// Push bytecode array. |
__ push(kInterpreterBytecodeArrayRegister); |
- // Push zero for bytecode array offset. |
- __ push(Immediate(0)); |
+ // Push Smi tagged initial bytecode array offset. |
+ __ push(Immediate(Smi::FromInt(BytecodeArray::kHeaderSize - kHeapObjectTag))); |
// Allocate the local and temporary register file on the stack. |
{ |
@@ -607,11 +607,8 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) { |
__ j(greater_equal, &loop_header); |
} |
- // Load accumulator, register file, bytecode offset, dispatch table into |
- // registers. |
+ // Load accumulator, bytecode offset and dispatch table into registers. |
__ LoadRoot(kInterpreterAccumulatorRegister, Heap::kUndefinedValueRootIndex); |
- __ mov(edx, ebp); |
- __ add(edx, Immediate(InterpreterFrameConstants::kRegisterFileFromFp)); |
__ mov(kInterpreterBytecodeOffsetRegister, |
Immediate(BytecodeArray::kHeaderSize - kHeapObjectTag)); |
__ mov(kInterpreterDispatchTableRegister, |