Index: src/ppc/macro-assembler-ppc.cc |
diff --git a/src/ppc/macro-assembler-ppc.cc b/src/ppc/macro-assembler-ppc.cc |
index ca466d77ebc1221d1d1bc19950cfd5e6f1370a0f..624f94b3dc4dcebcbd7b0c8fa66b04c159f8c5d7 100644 |
--- a/src/ppc/macro-assembler-ppc.cc |
+++ b/src/ppc/macro-assembler-ppc.cc |
@@ -564,6 +564,16 @@ void MacroAssembler::PopFixedFrame(Register marker_reg) { |
mtlr(r0); |
} |
+void MacroAssembler::RestoreFrameStateForTailCall() { |
+ if (FLAG_enable_embedded_constant_pool) { |
+ LoadP(kConstantPoolRegister, |
+ MemOperand(fp, StandardFrameConstants::kConstantPoolOffset)); |
+ set_constant_pool_available(false); |
+ } |
+ LoadP(r0, MemOperand(fp, StandardFrameConstants::kCallerPCOffset)); |
+ LoadP(fp, MemOperand(fp, StandardFrameConstants::kCallerFPOffset)); |
+ mtlr(r0); |
+} |
const RegList MacroAssembler::kSafepointSavedRegisters = Register::kAllocatable; |
const int MacroAssembler::kNumSafepointSavedRegisters = |