Index: runtime/vm/stub_code_x64.cc |
diff --git a/runtime/vm/stub_code_x64.cc b/runtime/vm/stub_code_x64.cc |
index 51648086c8da5f3fcc851753c0665f865aa49d49..80f0f963585cb1c4ef6797ca97be1845e02e79be 100644 |
--- a/runtime/vm/stub_code_x64.cc |
+++ b/runtime/vm/stub_code_x64.cc |
@@ -339,12 +339,12 @@ static void GenerateDeoptimizationSequence(Assembler* assembler, |
for (intptr_t i = kNumberOfCpuRegisters - 1; i >= 0; i--) { |
__ pushq(static_cast<Register>(i)); |
} |
- __ subq(RSP, Immediate(kNumberOfXmmRegisters * kDoubleSize)); |
+ __ subq(RSP, Immediate(kNumberOfXmmRegisters * kFpuRegisterSize)); |
intptr_t offset = 0; |
for (intptr_t reg_idx = 0; reg_idx < kNumberOfXmmRegisters; ++reg_idx) { |
XmmRegister xmm_reg = static_cast<XmmRegister>(reg_idx); |
- __ movsd(Address(RSP, offset), xmm_reg); |
- offset += kDoubleSize; |
+ __ movups(Address(RSP, offset), xmm_reg); |
+ offset += kFpuRegisterSize; |
} |
__ movq(RCX, RSP); // Saved saved registers block. |