Index: src/compiler/ia32/code-generator-ia32.cc |
diff --git a/src/compiler/ia32/code-generator-ia32.cc b/src/compiler/ia32/code-generator-ia32.cc |
index 6bd157afdeb58cf567f71c53892a84505a5c6594..196f6fba5162d5fc8ca5439a2a3de709e7306d11 100644 |
--- a/src/compiler/ia32/code-generator-ia32.cc |
+++ b/src/compiler/ia32/code-generator-ia32.cc |
@@ -471,6 +471,13 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) { |
case kArchFramePointer: |
__ mov(i.OutputRegister(), ebp); |
break; |
+ case kArchParentFramePointer: |
+ if (frame_access_state()->frame()->needs_frame()) { |
+ __ mov(i.OutputRegister(), Operand(ebp, 0)); |
+ } else { |
+ __ mov(i.OutputRegister(), ebp); |
+ } |
+ break; |
case kArchTruncateDoubleToI: { |
auto result = i.OutputRegister(); |
auto input = i.InputDoubleRegister(0); |