| Index: src/ia32/builtins-ia32.cc
|
| diff --git a/src/ia32/builtins-ia32.cc b/src/ia32/builtins-ia32.cc
|
| index 31f56461eec9e230c2f3a5b4a9b55934873135c8..d985edbb3fa88770f6019cf0628287b77d22e17d 100644
|
| --- a/src/ia32/builtins-ia32.cc
|
| +++ b/src/ia32/builtins-ia32.cc
|
| @@ -572,8 +572,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.
|
| {
|
| @@ -606,11 +606,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,
|
|
|