Index: src/crankshaft/x64/lithium-x64.cc |
diff --git a/src/crankshaft/x64/lithium-x64.cc b/src/crankshaft/x64/lithium-x64.cc |
index c4ec47b07fa9e1d3c91a65d09ff714775676d3c8..171a58115ae9c58499725b8d151fe5ce56875a03 100644 |
--- a/src/crankshaft/x64/lithium-x64.cc |
+++ b/src/crankshaft/x64/lithium-x64.cc |
@@ -334,15 +334,15 @@ |
int LPlatformChunk::GetNextSpillIndex(RegisterKind kind) { |
if (kind == DOUBLE_REGISTERS && kDoubleSize == 2 * kPointerSize) { |
// Skip a slot if for a double-width slot for x32 port. |
- current_frame_slots_++; |
+ spill_slot_count_++; |
// The spill slot's address is at rbp - (index + 1) * kPointerSize - |
// StandardFrameConstants::kFixedFrameSizeFromFp. kFixedFrameSizeFromFp is |
// 2 * kPointerSize, if rbp is aligned at 8-byte boundary, the below "|= 1" |
// will make sure the spilled doubles are aligned at 8-byte boundary. |
// TODO(haitao): make sure rbp is aligned at 8-byte boundary for x32 port. |
- current_frame_slots_ |= 1; |
- } |
- return current_frame_slots_++; |
+ spill_slot_count_ |= 1; |
+ } |
+ return spill_slot_count_++; |
} |
@@ -2501,7 +2501,6 @@ |
Retry(kTooManySpillSlotsNeededForOSR); |
spill_index = 0; |
} |
- spill_index += StandardFrameConstants::kFixedSlotCount; |
} |
return DefineAsSpilled(new(zone()) LUnknownOSRValue, spill_index); |
} |