Index: src/compiler/x64/code-generator-x64.cc |
diff --git a/src/compiler/x64/code-generator-x64.cc b/src/compiler/x64/code-generator-x64.cc |
index 579e6b8ebad88bf628187a09d2cdf1844faf3e96..be1c228b01ed525f4c03953192e8e8eeab853e16 100644 |
--- a/src/compiler/x64/code-generator-x64.cc |
+++ b/src/compiler/x64/code-generator-x64.cc |
@@ -712,6 +712,13 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
case kArchFramePointer: |
__ movq(i.OutputRegister(), rbp); |
break; |
+ case kArchParentFramePointer: |
+ if (frame_access_state()->frame()->needs_frame()) { |
+ __ movq(i.OutputRegister(), Operand(rbp, 0)); |
+ } else { |
+ __ movq(i.OutputRegister(), rbp); |
+ } |
+ break; |
case kArchTruncateDoubleToI: { |
auto result = i.OutputRegister(); |
auto input = i.InputDoubleRegister(0); |