|
|
Remove dead phis as soon as they are discovered.
Previously we removed dead phis late, in the register allocator. This
change removes them as soon as they are discovered to be dead and packs the
phi array to squeeze out NULLs. This speeds iteration but doesn't save
space because the phi array is zone-allocated.
The PhiIterator is used everywhere to iterate phis except a few places that
need to know the phi index (e.g., SSA construction, phi elimination).
R=vegorov@google.com
Committed: https://code.google.com/p/dart/source/detail?r=19206
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+129 lines, -159 lines) |
Patch |
 |
M |
runtime/vm/compiler.cc
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/flow_graph.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
runtime/vm/flow_graph.cc
|
View
|
|
7 chunks |
+21 lines, -16 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/flow_graph_allocator.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
runtime/vm/flow_graph_allocator.cc
|
View
|
|
7 chunks |
+37 lines, -73 lines |
2 comments
|
Download
|
 |
M |
runtime/vm/flow_graph_builder.cc
|
View
|
|
1 chunk |
+2 lines, -4 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/flow_graph_optimizer.cc
|
View
|
|
6 chunks |
+36 lines, -30 lines |
2 comments
|
Download
|
 |
M |
runtime/vm/flow_graph_type_propagator.cc
|
View
|
|
2 chunks |
+1 line, -8 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/intermediate_language.h
|
View
|
|
4 chunks |
+7 lines, -12 lines |
0 comments
|
Download
|
 |
M |
runtime/vm/intermediate_language.cc
|
View
|
|
3 chunks |
+22 lines, -14 lines |
0 comments
|
Download
|
Total messages: 4 (0 generated)
|