Index: src/compiler/x87/code-generator-x87.cc |
diff --git a/src/compiler/x87/code-generator-x87.cc b/src/compiler/x87/code-generator-x87.cc |
index 75c3a0d7a1ca75d008622afc46cbeec10e403380..8a1dbb0d9afe04a5b4278c97e171f638077dcd19 100644 |
--- a/src/compiler/x87/code-generator-x87.cc |
+++ b/src/compiler/x87/code-generator-x87.cc |
@@ -574,6 +574,13 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
case kArchStackPointer: |
__ mov(i.OutputRegister(), esp); |
break; |
+ case kArchParentFramePointer: |
+ if (frame_access_state()->frame()->needs_frame()) { |
+ __ mov(i.OutputRegister(), Operand(ebp, 0)); |
+ } else { |
+ __ mov(i.OutputRegister(), ebp); |
+ } |
+ break; |
case kArchTruncateDoubleToI: { |
if (!instr->InputAt(0)->IsDoubleRegister()) { |
__ fld_d(i.InputOperand(0)); |