| Index: src/ppc/builtins-ppc.cc
|
| diff --git a/src/ppc/builtins-ppc.cc b/src/ppc/builtins-ppc.cc
|
| index 6d193dbe144456f9776d83f99ab5a21a88335c85..4ede21e0bc452eb005433bbc82510cf713e9e737 100644
|
| --- a/src/ppc/builtins-ppc.cc
|
| +++ b/src/ppc/builtins-ppc.cc
|
| @@ -784,6 +784,7 @@ void Builtins::Generate_JSConstructEntryTrampoline(MacroAssembler* masm) {
|
| //
|
| // The live registers are:
|
| // o r4: the JS function object being called.
|
| +// o r6: the new target
|
| // o cp: our context
|
| // o pp: the caller's constant pool pointer (if enabled)
|
| // o fp: the caller's frame pointer
|
| @@ -801,6 +802,7 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
| FrameScope frame_scope(masm, StackFrame::MANUAL);
|
| __ PushFixedFrame(r4);
|
| __ addi(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp));
|
| + __ push(r6);
|
|
|
| // Get the bytecode array from the function object and load the pointer to the
|
| // first entry into kInterpreterBytecodeRegister.
|
| @@ -867,9 +869,9 @@ void Builtins::Generate_InterpreterEntryTrampoline(MacroAssembler* masm) {
|
| // Load accumulator, register file, bytecode offset, dispatch table into
|
| // registers.
|
| __ LoadRoot(kInterpreterAccumulatorRegister, Heap::kUndefinedValueRootIndex);
|
| - __ subi(
|
| - kInterpreterRegisterFileRegister, fp,
|
| - Operand(kPointerSize + StandardFrameConstants::kFixedFrameSizeFromFp));
|
| + __ subi(kInterpreterRegisterFileRegister, fp,
|
| + Operand(2 * kPointerSize +
|
| + StandardFrameConstants::kFixedFrameSizeFromFp));
|
| __ mov(kInterpreterBytecodeOffsetRegister,
|
| Operand(BytecodeArray::kHeaderSize - kHeapObjectTag));
|
| __ LoadRoot(kInterpreterDispatchTableRegister,
|
|
|