Bug 869529 - Fix LiveRangeAllocator loopWorkList handling. r=bhackett

This commit is contained in:
Kannan Vijayan 2013-05-07 14:49:02 -04:00
parent 15eb2cc275
commit a138ca6b91

View File

@ -791,9 +791,17 @@ LiveRangeAllocator<VREG>::buildLivenessInfo()
break;
// Grab the next block off the work list, skipping any OSR block.
do {
while (!loopWorkList.empty()) {
loopBlock = loopWorkList.popCopy();
} while (loopBlock->lir() == graph.osrBlock());
if (loopBlock->lir() != graph.osrBlock())
break;
}
// If end is reached without finding a non-OSR block, then no more work items were found.
if (loopBlock->lir() == graph.osrBlock()) {
JS_ASSERT(loopWorkList.empty());
break;
}
}
// Clear the done set for other loops