| Index: src/compiler/greedy-allocator.cc
|
| diff --git a/src/compiler/greedy-allocator.cc b/src/compiler/greedy-allocator.cc
|
| index e1f13a64d4d8173850a7c8370071ca0260378410..44f2d4f8160a4893cc3964e21fc0ecb6dd7629e5 100644
|
| --- a/src/compiler/greedy-allocator.cc
|
| +++ b/src/compiler/greedy-allocator.cc
|
| @@ -164,8 +164,12 @@ void GreedyAllocator::PreallocateFixedRanges() {
|
|
|
| void GreedyAllocator::ScheduleAllocationCandidates() {
|
| for (auto range : data()->live_ranges()) {
|
| - if (CanProcessRange(range) && !range->spilled()) {
|
| - scheduler().Schedule(range);
|
| + if (CanProcessRange(range)) {
|
| + for (LiveRange* child = range; child != nullptr; child = child->next()) {
|
| + if (!child->spilled()) {
|
| + scheduler().Schedule(child);
|
| + }
|
| + }
|
| }
|
| }
|
| }
|
|
|