Chromium Code Reviews| 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. |