Index: src/ia32/lithium-ia32.cc |
diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
index 26af236b4118593ff3f8aa33910865a8613e3407..e417dc1016d02ef14101e364b61c108fcbf5fbc6 100644 |
--- a/src/ia32/lithium-ia32.cc |
+++ b/src/ia32/lithium-ia32.cc |
@@ -368,7 +368,11 @@ void LAccessArgumentsAt::PrintDataTo(StringStream* stream) { |
int LChunk::GetNextSpillIndex(bool is_double) { |
// Skip a slot if for a double-width slot. |
- if (is_double) spill_slot_count_++; |
+ if (is_double) { |
+ spill_slot_count_ |= 1; |
+ spill_slot_count_++; |
+ num_double_slots_++; |
+ } |
return spill_slot_count_++; |
} |
@@ -549,6 +553,10 @@ LChunk* LChunkBuilder::Build() { |
chunk_ = new(zone()) LChunk(info(), graph()); |
HPhase phase("L_Building chunk", chunk_); |
status_ = BUILDING; |
+ |
+ int alignment_marker_index = chunk_->GetNextSpillIndex(false); |
+ CHECK(alignment_marker_index == 0); |
+ |
const ZoneList<HBasicBlock*>* blocks = graph()->blocks(); |
for (int i = 0; i < blocks->length(); i++) { |
HBasicBlock* next = NULL; |