| Index: src/s390/builtins-s390.cc
|
| diff --git a/src/s390/builtins-s390.cc b/src/s390/builtins-s390.cc
|
| index 2d521db65e3fb6ef4dce1e0633884c4ff8c71a5c..a085140b5f2553ddb5b0f37b394ea08e6024b06a 100644
|
| --- a/src/s390/builtins-s390.cc
|
| +++ b/src/s390/builtins-s390.cc
|
| @@ -1013,9 +1013,13 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
| __ Assert(eq, kFunctionDataShouldBeBytecodeArrayOnInterpreterEntry);
|
| }
|
|
|
| - // Push new.target, bytecode array and zero for bytecode array offset.
|
| - __ LoadImmP(r2, Operand::Zero());
|
| - __ Push(r5, kInterpreterBytecodeArrayRegister, r2);
|
| + // Load the initial bytecode offset.
|
| + __ mov(kInterpreterBytecodeOffsetRegister,
|
| + Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
|
| +
|
| + // Push new.target, bytecode array and Smi tagged bytecode array offset.
|
| + __ SmiTag(r4, kInterpreterBytecodeOffsetRegister);
|
| + __ Push(r5, kInterpreterBytecodeArrayRegister, r4);
|
|
|
| // Allocate the local and temporary register file on the stack.
|
| {
|
| @@ -1047,12 +1051,8 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
| __ bind(&no_args);
|
| }
|
|
|
| - // Load accumulator, register file, bytecode offset, dispatch table into
|
| - // registers.
|
| + // Load accumulator and dispatch table into registers.
|
| __ LoadRoot(kInterpreterAccumulatorRegister, Heap::kUndefinedValueRootIndex);
|
| - __ AddP(r4, fp, Operand(InterpreterFrameConstants::kRegisterFileFromFp));
|
| - __ mov(kInterpreterBytecodeOffsetRegister,
|
| - Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
|
| __ mov(kInterpreterDispatchTableRegister,
|
| Operand(ExternalReference::interpreter_dispatch_table_address(
|
| masm->isolate())));
|
|
|