Chromium Code Reviews| Index: runtime/vm/compiler.cc |
| =================================================================== |
| --- runtime/vm/compiler.cc (revision 25997) |
| +++ runtime/vm/compiler.cc (working copy) |
| @@ -338,6 +338,17 @@ |
| optimizer.TryOptimizeLeftShiftWithBitAndPattern(); |
| DEBUG_ASSERT(flow_graph->VerifyUseLists()); |
| + // Propagate types and eliminate more type tests. |
| + if (FLAG_propagate_types) { |
| + FlowGraphTypePropagator propagator(flow_graph); |
| + propagator.Propagate(); |
|
Kevin Millikin (Google)
2013/08/13 11:47:40
Why?
We compute this five times. The other four
Florian Schneider
2013/08/14 12:30:24
Without this I get some performance regressions wh
|
| + DEBUG_ASSERT(flow_graph->VerifyUseLists()); |
| + } |
| + |
| + // Use propagated class-ids to optimize further. |
| + optimizer.ApplyClassIds(); |
| + DEBUG_ASSERT(flow_graph->VerifyUseLists()); |
| + |
| // Inlining (mutates the flow graph) |
| if (FLAG_use_inlining) { |
| TimerScope timer(FLAG_compiler_stats, |