| Index: src/compiler/live-range-separator.cc
|
| diff --git a/src/compiler/live-range-separator.cc b/src/compiler/live-range-separator.cc
|
| index 47116b9a2d25c901f9e7a3090b990fc04ebbb396..52f0b8cf442b7c87e184b66e7be5d2b814ac1b9a 100644
|
| --- a/src/compiler/live-range-separator.cc
|
| +++ b/src/compiler/live-range-separator.cc
|
| @@ -118,7 +118,8 @@ void SplinterRangesInDeferredBlocks(RegisterAllocationData *data) {
|
| if (!block->IsDeferred()) continue;
|
|
|
| RpoNumber last_deferred = block->last_deferred();
|
| - i = last_deferred.ToInt();
|
| + // last_deferred + 1 is not deferred, so no point in visiting it.
|
| + i = last_deferred.ToInt() + 1;
|
|
|
| LifetimePosition first_cut = LifetimePosition::GapFromInstructionIndex(
|
| block->first_instruction_index());
|
| @@ -126,7 +127,7 @@ void SplinterRangesInDeferredBlocks(RegisterAllocationData *data) {
|
| LifetimePosition last_cut = LifetimePosition::GapFromInstructionIndex(
|
| static_cast<int>(code->instructions().size()));
|
|
|
| - const BitVector *in_set = in_sets[i];
|
| + const BitVector *in_set = in_sets[block->rpo_number().ToInt()];
|
| InstructionBlock *last = code->InstructionBlockAt(last_deferred);
|
| const BitVector *out_set = LiveRangeBuilder::ComputeLiveOut(last, data);
|
| last_cut = LifetimePosition::GapFromInstructionIndex(
|
|
|