Index: src/ia32/deoptimizer-ia32.cc |
diff --git a/src/ia32/deoptimizer-ia32.cc b/src/ia32/deoptimizer-ia32.cc |
index 6af2445f453e79e6bbf9eb22440234972810dfac..505cd4fc1c4763e0ae0379832c28025ab8c5566e 100644 |
--- a/src/ia32/deoptimizer-ia32.cc |
+++ b/src/ia32/deoptimizer-ia32.cc |
@@ -566,15 +566,11 @@ void Deoptimizer::EntryGenerator::Generate() { |
// Get the bailout id from the stack. |
__ mov(ebx, Operand(esp, kSavedRegistersAreaSize)); |
- // Get the address of the location in the code object if possible |
+ // Get the address of the location in the code object |
// and compute the fp-to-sp delta in register edx. |
- if (type() == EAGER || type() == SOFT) { |
- __ Set(ecx, Immediate(0)); |
- __ lea(edx, Operand(esp, kSavedRegistersAreaSize + 1 * kPointerSize)); |
- } else { |
- __ mov(ecx, Operand(esp, kSavedRegistersAreaSize + 1 * kPointerSize)); |
- __ lea(edx, Operand(esp, kSavedRegistersAreaSize + 2 * kPointerSize)); |
- } |
+ __ mov(ecx, Operand(esp, kSavedRegistersAreaSize + 1 * kPointerSize)); |
+ __ lea(edx, Operand(esp, kSavedRegistersAreaSize + 2 * kPointerSize)); |
+ |
__ sub(edx, ebp); |
__ neg(edx); |
@@ -620,12 +616,8 @@ void Deoptimizer::EntryGenerator::Generate() { |
// and check that the generated code never deoptimizes with unbalanced stack. |
__ fnclex(); |
- // Remove the bailout id and the double registers from the stack. |
- if (type() == EAGER || type() == SOFT) { |
- __ add(esp, Immediate(kDoubleRegsSize + kPointerSize)); |
- } else { |
- __ add(esp, Immediate(kDoubleRegsSize + 2 * kPointerSize)); |
- } |
+ // Remove the bailout id, return address and the double registers. |
+ __ add(esp, Immediate(kDoubleRegsSize + 2 * kPointerSize)); |
// Compute a pointer to the unwinding limit in register ecx; that is |
// the first stack slot not part of the input frame. |