diff options
-rw-r--r-- | compiler/optimizing/register_allocator.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/compiler/optimizing/register_allocator.cc b/compiler/optimizing/register_allocator.cc index 0e9c4d6..748ab22 100644 --- a/compiler/optimizing/register_allocator.cc +++ b/compiler/optimizing/register_allocator.cc @@ -1425,13 +1425,13 @@ void RegisterAllocator::ConnectSiblings(LiveInterval* interval) { // At each safepoint, we record stack and register information. // We iterate backwards to test safepoints in ascending order of positions, // which is what LiveInterval::Covers is optimized for. - while (safepoint_index > 0) { - HInstruction* safepoint = safepoints_.Get(--safepoint_index); + for (; safepoint_index > 0; --safepoint_index) { + HInstruction* safepoint = safepoints_.Get(safepoint_index - 1); size_t position = safepoint->GetLifetimePosition(); // Test that safepoints are ordered in the optimal way. - DCHECK(safepoint_index == 0 - || safepoints_.Get(safepoint_index - 1)->GetLifetimePosition() >= position); + DCHECK(safepoint_index == safepoints_.Size() + || safepoints_.Get(safepoint_index)->GetLifetimePosition() <= position); if (current->IsDeadAt(position)) { break; |