| Index: src/crankshaft/ppc/lithium-codegen-ppc.cc
|
| diff --git a/src/crankshaft/ppc/lithium-codegen-ppc.cc b/src/crankshaft/ppc/lithium-codegen-ppc.cc
|
| index 972232b690c4f9d4dee7face33c0a52ffc5b5f66..f488d7ee4c27c775091acc1f31ca7b2ae047eab3 100644
|
| --- a/src/crankshaft/ppc/lithium-codegen-ppc.cc
|
| +++ b/src/crankshaft/ppc/lithium-codegen-ppc.cc
|
| @@ -123,7 +123,7 @@ bool LCodeGen::GeneratePrologue() {
|
| info()->set_prologue_offset(prologue_offset);
|
| if (NeedsEagerFrame()) {
|
| if (info()->IsStub()) {
|
| - __ StubPrologue(ip, prologue_offset);
|
| + __ StubPrologue(StackFrame::STUB, ip, prologue_offset);
|
| } else {
|
| __ Prologue(info()->GeneratePreagedPrologue(), ip, prologue_offset);
|
| }
|
| @@ -265,15 +265,14 @@ bool LCodeGen::GenerateDeferredCode() {
|
| DCHECK(info()->IsStub());
|
| frame_is_built_ = true;
|
| __ LoadSmiLiteral(scratch0(), Smi::FromInt(StackFrame::STUB));
|
| - __ PushFixedFrame(scratch0());
|
| - __ addi(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp));
|
| + __ PushCommonFrame(scratch0());
|
| Comment(";;; Deferred code");
|
| }
|
| code->Generate();
|
| if (NeedsDeferredFrame()) {
|
| Comment(";;; Destroy frame");
|
| DCHECK(frame_is_built_);
|
| - __ PopFixedFrame(ip);
|
| + __ PopCommonFrame(scratch0());
|
| frame_is_built_ = false;
|
| }
|
| __ b(code->exit());
|
| @@ -322,7 +321,7 @@ bool LCodeGen::GenerateJumpTable() {
|
| if (table_entry->needs_frame) {
|
| DCHECK(!info()->saves_caller_doubles());
|
| Comment(";;; call deopt with frame");
|
| - __ PushFixedFrame();
|
| + __ PushCommonFrame();
|
| __ b(&needs_frame, SetLK);
|
| } else {
|
| __ b(&call_deopt_entry, SetLK);
|
| @@ -336,10 +335,9 @@ bool LCodeGen::GenerateJumpTable() {
|
| // This variant of deopt can only be used with stubs. Since we don't
|
| // have a function pointer to install in the stack frame that we're
|
| // building, install a special marker there instead.
|
| - DCHECK(info()->IsStub());
|
| __ LoadSmiLiteral(ip, Smi::FromInt(StackFrame::STUB));
|
| __ push(ip);
|
| - __ addi(fp, sp, Operand(StandardFrameConstants::kFixedFrameSizeFromFp));
|
| + DCHECK(info()->IsStub());
|
| }
|
|
|
| Comment(";;; call deopt");
|
| @@ -3211,8 +3209,9 @@ void LCodeGen::DoArgumentsElements(LArgumentsElements* instr) {
|
| } else {
|
| // Check if the calling frame is an arguments adaptor frame.
|
| __ LoadP(scratch, MemOperand(fp, StandardFrameConstants::kCallerFPOffset));
|
| - __ LoadP(result,
|
| - MemOperand(scratch, StandardFrameConstants::kContextOffset));
|
| + __ LoadP(
|
| + result,
|
| + MemOperand(scratch, CommonFrameConstants::kContextOrFrameTypeOffset));
|
| __ CmpSmiLiteral(result, Smi::FromInt(StackFrame::ARGUMENTS_ADAPTOR), r0);
|
|
|
| // Result is the frame pointer for the frame if not adapted and for the real
|
|
|