Index: src/compiler/ppc/code-generator-ppc.cc |
diff --git a/src/compiler/ppc/code-generator-ppc.cc b/src/compiler/ppc/code-generator-ppc.cc |
index 174e0c11ae1ff9f757bbb7fc839094a2a8fb3f1f..e639a9247fa3f54856ddcd1fae81d7f5b579383a 100644 |
--- a/src/compiler/ppc/code-generator-ppc.cc |
+++ b/src/compiler/ppc/code-generator-ppc.cc |
@@ -821,6 +821,13 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
__ mr(i.OutputRegister(), fp); |
DCHECK_EQ(LeaveRC, i.OutputRCBit()); |
break; |
+ case kArchParentFramePointer: |
+ if (frame_access_state()->frame()->needs_frame()) { |
+ __ LoadP(i.OutputRegister(), MemOperand(fp, 0)); |
+ } else { |
+ __ mr(i.OutputRegister(), fp); |
+ } |
+ break; |
case kArchTruncateDoubleToI: |
// TODO(mbrandy): move slow call to stub out of line. |
__ TruncateDoubleToI(i.OutputRegister(), i.InputDoubleRegister(0)); |