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 |