Chromium Code Reviews| Index: src/x64/macro-assembler-x64.cc |
| =================================================================== |
| --- src/x64/macro-assembler-x64.cc (revision 15866) |
| +++ src/x64/macro-assembler-x64.cc (working copy) |
| @@ -3507,7 +3507,7 @@ |
| // Optionally save all XMM registers. |
| if (save_doubles) { |
| int space = XMMRegister::kMaxNumRegisters * kDoubleSize + |
| - arg_stack_space * kPointerSize; |
| + arg_stack_space * kRegisterSize; |
|
haitao.feng
2013/07/25 11:40:50
Explained in the code-stubs-x64.cc for calling con
|
| subq(rsp, Immediate(space)); |
| int offset = -2 * kPointerSize; |
| for (int i = 0; i < XMMRegister::NumAllocatableRegisters(); i++) { |
| @@ -3515,7 +3515,7 @@ |
| movsd(Operand(rbp, offset - ((i + 1) * kDoubleSize)), reg); |
| } |
| } else if (arg_stack_space > 0) { |
| - subq(rsp, Immediate(arg_stack_space * kPointerSize)); |
| + subq(rsp, Immediate(arg_stack_space * kRegisterSize)); |
| } |
| // Get the required frame alignment for the OS. |
| @@ -3560,7 +3560,7 @@ |
| } |
| } |
| // Get the return address from the stack and restore the frame pointer. |
| - movq(rcx, Operand(rbp, 1 * kPointerSize)); |
| + movq(rcx, Operand(rbp, 1 * kFPOnStackSize)); |
| movq(rbp, Operand(rbp, 0 * kPointerSize)); |
| // Drop everything up to and including the arguments and the receiver |
| @@ -4375,7 +4375,7 @@ |
| ASSERT(IsPowerOf2(frame_alignment)); |
| int argument_slots_on_stack = |
| ArgumentStackSlotsForCFunctionCall(num_arguments); |
| - subq(rsp, Immediate((argument_slots_on_stack + 1) * kPointerSize)); |
| + subq(rsp, Immediate((argument_slots_on_stack + 1) * kRegisterSize)); |
| and_(rsp, Immediate(-frame_alignment)); |
| movq(Operand(rsp, argument_slots_on_stack * kPointerSize), kScratchRegister); |
| } |
| @@ -4400,7 +4400,7 @@ |
| ASSERT(num_arguments >= 0); |
| int argument_slots_on_stack = |
| ArgumentStackSlotsForCFunctionCall(num_arguments); |
| - movq(rsp, Operand(rsp, argument_slots_on_stack * kPointerSize)); |
| + movq(rsp, Operand(rsp, argument_slots_on_stack * kRegisterSize)); |
| } |