| Index: vm/flow_graph_allocator.cc
|
| ===================================================================
|
| --- vm/flow_graph_allocator.cc (revision 10050)
|
| +++ vm/flow_graph_allocator.cc (working copy)
|
| @@ -82,6 +82,17 @@
|
| }
|
|
|
|
|
| +void FlowGraphAllocator::EliminateEnvironmentUses() {
|
| + for (intptr_t i = 0; i < block_order_.length(); ++i) {
|
| + BlockEntryInstr* block = block_order_[i];
|
| + for (ForwardInstructionIterator it(block); !it.Done(); it.Advance()) {
|
| + Instruction* current = it.Current();
|
| + if (!current->CanDeoptimize()) current->set_env(NULL);
|
| + }
|
| + }
|
| +}
|
| +
|
| +
|
| void FlowGraphAllocator::ComputeInitialSets() {
|
| const intptr_t block_count = postorder_.length();
|
| for (intptr_t i = 0; i < block_count; i++) {
|
| @@ -1654,6 +1665,8 @@
|
|
|
|
|
| void FlowGraphAllocator::AllocateRegisters() {
|
| + EliminateEnvironmentUses();
|
| +
|
| AnalyzeLiveness();
|
|
|
| BuildLiveRanges();
|
|
|