Index: src/crankshaft/arm/lithium-arm.cc |
diff --git a/src/crankshaft/arm/lithium-arm.cc b/src/crankshaft/arm/lithium-arm.cc |
index d4e7ec936d373e7f9df69ce19a705c894012ba9c..6eb9337f5cb4627afc2dcadd7055e6f2adad2c94 100644 |
--- a/src/crankshaft/arm/lithium-arm.cc |
+++ b/src/crankshaft/arm/lithium-arm.cc |
@@ -383,8 +383,8 @@ void LTransitionElementsKind::PrintDataTo(StringStream* stream) { |
int LPlatformChunk::GetNextSpillIndex(RegisterKind kind) { |
// Skip a slot if for a double-width slot. |
- if (kind == DOUBLE_REGISTERS) spill_slot_count_++; |
- return spill_slot_count_++; |
+ if (kind == DOUBLE_REGISTERS) current_frame_slots_++; |
+ return current_frame_slots_++; |
} |
@@ -2456,6 +2456,7 @@ LInstruction* LChunkBuilder::DoUnknownOSRValue(HUnknownOSRValue* instr) { |
Retry(kTooManySpillSlotsNeededForOSR); |
spill_index = 0; |
} |
+ spill_index += StandardFrameConstants::kFixedSlotCount; |
} |
return DefineAsSpilled(new(zone()) LUnknownOSRValue, spill_index); |
} |