| Index: src/crankshaft/x64/lithium-x64.cc
|
| diff --git a/src/crankshaft/x64/lithium-x64.cc b/src/crankshaft/x64/lithium-x64.cc
|
| index 171a58115ae9c58499725b8d151fe5ce56875a03..c4ec47b07fa9e1d3c91a65d09ff714775676d3c8 100644
|
| --- a/src/crankshaft/x64/lithium-x64.cc
|
| +++ b/src/crankshaft/x64/lithium-x64.cc
|
| @@ -334,15 +334,15 @@ void LAccessArgumentsAt::PrintDataTo(StringStream* stream) {
|
| int LPlatformChunk::GetNextSpillIndex(RegisterKind kind) {
|
| if (kind == DOUBLE_REGISTERS && kDoubleSize == 2 * kPointerSize) {
|
| // Skip a slot if for a double-width slot for x32 port.
|
| - spill_slot_count_++;
|
| + current_frame_slots_++;
|
| // 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.
|
| - spill_slot_count_ |= 1;
|
| + current_frame_slots_ |= 1;
|
| }
|
| - return spill_slot_count_++;
|
| + return current_frame_slots_++;
|
| }
|
|
|
|
|
| @@ -2501,6 +2501,7 @@ LInstruction* LChunkBuilder::DoUnknownOSRValue(HUnknownOSRValue* instr) {
|
| Retry(kTooManySpillSlotsNeededForOSR);
|
| spill_index = 0;
|
| }
|
| + spill_index += StandardFrameConstants::kFixedSlotCount;
|
| }
|
| return DefineAsSpilled(new(zone()) LUnknownOSRValue, spill_index);
|
| }
|
|
|