Index: test/cctest/test-code-stubs-x64.cc |
diff --git a/test/cctest/test-code-stubs-x64.cc b/test/cctest/test-code-stubs-x64.cc |
index 4af5b45d7c62135119a37b7825003f538647fd4a..e76d706419b1a2e03f0c927e8e85cd4480c72384 100644 |
--- a/test/cctest/test-code-stubs-x64.cc |
+++ b/test/cctest/test-code-stubs-x64.cc |
@@ -65,21 +65,21 @@ ConvertDToIFunc MakeConvertDToIFuncTrampoline(Isolate* isolate, |
__ push(rdi); |
if (!source_reg.is(rsp)) { |
- __ lea(source_reg, MemOperand(rsp, -8 * kPointerSize - offset)); |
+ int double_argument_slot = |
mvstanton
2013/10/31 08:39:24
nit: Could you illuminate this block with a commen
|
+ (Register::NumAllocatableRegisters() - 1) * kPointerSize + kDoubleSize; |
+ __ lea(source_reg, MemOperand(rsp, -double_argument_slot - offset)); |
} |
- int param_offset = 7 * kPointerSize; |
// Save registers make sure they don't get clobbered. |
int reg_num = 0; |
for (;reg_num < Register::NumAllocatableRegisters(); ++reg_num) { |
- Register reg = Register::from_code(reg_num); |
+ Register reg = Register::FromAllocationIndex(reg_num); |
if (!reg.is(rsp) && !reg.is(rbp) && !reg.is(destination_reg)) { |
__ push(reg); |
- param_offset += kPointerSize; |
} |
} |
- // Re-push the double argument |
+ // Put the double argument into the designated double argument slot. |
__ subq(rsp, Immediate(kDoubleSize)); |
__ movsd(MemOperand(rsp, 0), xmm0); |
@@ -90,7 +90,7 @@ ConvertDToIFunc MakeConvertDToIFuncTrampoline(Isolate* isolate, |
// Make sure no registers have been unexpectedly clobbered |
for (--reg_num; reg_num >= 0; --reg_num) { |
- Register reg = Register::from_code(reg_num); |
+ Register reg = Register::FromAllocationIndex(reg_num); |
if (!reg.is(rsp) && !reg.is(rbp) && !reg.is(destination_reg)) { |
__ cmpq(reg, MemOperand(rsp, 0)); |
__ Assert(equal, kRegisterWasClobbered); |