| Index: src/x64/deoptimizer-x64.cc
|
| diff --git a/src/x64/deoptimizer-x64.cc b/src/x64/deoptimizer-x64.cc
|
| index f2f7ed0735bd284b36adc4c03553a04ec56596b0..d7a73d75c9d9dc49c5a574c46b5ab45fd7fa2aeb 100644
|
| --- a/src/x64/deoptimizer-x64.cc
|
| +++ b/src/x64/deoptimizer-x64.cc
|
| @@ -451,16 +451,11 @@ void Deoptimizer::EntryGenerator::Generate() {
|
| // Get the bailout id from the stack.
|
| __ movq(arg_reg_3, Operand(rsp, 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 arg5.
|
| - if (type() == EAGER || type() == SOFT) {
|
| - __ Set(arg_reg_4, 0);
|
| - __ lea(arg5, Operand(rsp, kSavedRegistersAreaSize + 1 * kPointerSize));
|
| - } else {
|
| - __ movq(arg_reg_4,
|
| - Operand(rsp, kSavedRegistersAreaSize + 1 * kPointerSize));
|
| - __ lea(arg5, Operand(rsp, kSavedRegistersAreaSize + 2 * kPointerSize));
|
| - }
|
| + __ movq(arg_reg_4,
|
| + Operand(rsp, kSavedRegistersAreaSize + 1 * kPointerSize));
|
| + __ lea(arg5, Operand(rsp, kSavedRegistersAreaSize + 2 * kPointerSize));
|
|
|
| __ subq(arg5, rbp);
|
| __ neg(arg5);
|
| @@ -503,12 +498,8 @@ void Deoptimizer::EntryGenerator::Generate() {
|
| __ pop(Operand(rbx, dst_offset));
|
| }
|
|
|
| - // Remove the bailout id from the stack.
|
| - if (type() == EAGER || type() == SOFT) {
|
| - __ addq(rsp, Immediate(kPointerSize));
|
| - } else {
|
| - __ addq(rsp, Immediate(2 * kPointerSize));
|
| - }
|
| + // Remove the bailout id and return address from the stack.
|
| + __ addq(rsp, Immediate(2 * kPointerSize));
|
|
|
| // Compute a pointer to the unwinding limit in register rcx; that is
|
| // the first stack slot not part of the input frame.
|
|
|