Index: src/x64/deoptimizer-x64.cc |
=================================================================== |
--- src/x64/deoptimizer-x64.cc (revision 15866) |
+++ src/x64/deoptimizer-x64.cc (working copy) |
@@ -407,7 +407,7 @@ |
__ push(r); |
} |
- const int kSavedRegistersAreaSize = kNumberOfRegisters * kPointerSize + |
+ const int kSavedRegistersAreaSize = kNumberOfRegisters * kRegisterSize + |
haitao.feng
2013/07/25 11:40:50
For X32, we used 8-byte push for bailout id and re
|
kDoubleRegsSize; |
// We use this to keep the value of the fifth argument temporarily. |
@@ -421,8 +421,9 @@ |
// Get the address of the location in the code object |
// and compute the fp-to-sp delta in register arg5. |
__ movq(arg_reg_4, |
- Operand(rsp, kSavedRegistersAreaSize + 1 * kPointerSize)); |
- __ lea(arg5, Operand(rsp, kSavedRegistersAreaSize + 2 * kPointerSize)); |
+ Operand(rsp, kSavedRegistersAreaSize + 1 * kPCOnStackSize)); |
+ __ lea(arg5, Operand(rsp, kSavedRegistersAreaSize + 1 * kPCOnStackSize + |
+ 1 * kRegisterSize)); |
__ subq(arg5, rbp); |
__ neg(arg5); |
@@ -466,7 +467,7 @@ |
} |
// Remove the bailout id and return address from the stack. |
- __ addq(rsp, Immediate(2 * kPointerSize)); |
+ __ addq(rsp, Immediate(1 * kRegisterSize + 1 * kPCOnStackSize)); |
// Compute a pointer to the unwinding limit in register rcx; that is |
// the first stack slot not part of the input frame. |