| Index: src/x64/deoptimizer-x64.cc
|
| diff --git a/src/x64/deoptimizer-x64.cc b/src/x64/deoptimizer-x64.cc
|
| index ae180ec59b4b5078919a5f8f2659a3de1c5ad7b2..ff9beba586ccaa79cf42b962d7f6a4eede878e97 100644
|
| --- a/src/x64/deoptimizer-x64.cc
|
| +++ b/src/x64/deoptimizer-x64.cc
|
| @@ -156,7 +156,7 @@ void Deoptimizer::EntryGenerator::Generate() {
|
| __ push(r);
|
| }
|
|
|
| - const int kSavedRegistersAreaSize = kNumberOfRegisters * kPointerSize +
|
| + const int kSavedRegistersAreaSize = kNumberOfRegisters * kRegisterSize +
|
| kDoubleRegsSize;
|
|
|
| // We use this to keep the value of the fifth argument temporarily.
|
| @@ -169,9 +169,9 @@ void Deoptimizer::EntryGenerator::Generate() {
|
|
|
| // 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));
|
| + __ movq(arg_reg_4, Operand(rsp, kSavedRegistersAreaSize + 1 * kRegisterSize));
|
| + __ lea(arg5, Operand(rsp, kSavedRegistersAreaSize + 1 * kRegisterSize +
|
| + kPCOnStackSize));
|
|
|
| __ subq(arg5, rbp);
|
| __ neg(arg5);
|
| @@ -215,7 +215,7 @@ void Deoptimizer::EntryGenerator::Generate() {
|
| }
|
|
|
| // Remove the bailout id and return address from the stack.
|
| - __ addq(rsp, Immediate(2 * kPointerSize));
|
| + __ addq(rsp, Immediate(1 * kRegisterSize + kPCOnStackSize));
|
|
|
| // Compute a pointer to the unwinding limit in register rcx; that is
|
| // the first stack slot not part of the input frame.
|
|
|