Index: src/compiler/live-range-separator.cc |
diff --git a/src/compiler/live-range-separator.cc b/src/compiler/live-range-separator.cc |
index 932e9d59c5d23162e4bae6c75dd23cfbc832847c..e3cd0a3137deea497aefa22c14b883a99b4c830c 100644 |
--- a/src/compiler/live-range-separator.cc |
+++ b/src/compiler/live-range-separator.cc |
@@ -119,6 +119,7 @@ void LiveRangeSeparator::Splinter() { |
void LiveRangeMerger::MarkRangesSpilledInDeferredBlocks() { |
+ const InstructionSequence *code = data()->code(); |
for (TopLevelLiveRange *top : data()->live_ranges()) { |
if (top == nullptr || top->IsEmpty() || top->splinter() == nullptr || |
top->HasSpillOperand() || !top->splinter()->HasSpillRange()) { |
@@ -132,7 +133,10 @@ void LiveRangeMerger::MarkRangesSpilledInDeferredBlocks() { |
break; |
} |
} |
- if (child == nullptr) top->MarkSpilledInDeferredBlock(); |
+ if (child == nullptr) { |
+ top->TreatAsSpilledInDeferredBlock(data()->allocation_zone(), |
+ code->InstructionBlockCount()); |
+ } |
} |
} |