Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Unified Diff: runtime/vm/flow_graph.cc

Issue 14067002: Incrementally recompute dominators when inlining. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/flow_graph.cc
diff --git a/runtime/vm/flow_graph.cc b/runtime/vm/flow_graph.cc
index ec35849642c05b8935b37f2b77c6e03b7413aba2..c68f7208bd75baadca7297d8463c75066698a33d 100644
--- a/runtime/vm/flow_graph.cc
+++ b/runtime/vm/flow_graph.cc
@@ -29,8 +29,7 @@ FlowGraph::FlowGraph(const FlowGraphBuilder& builder,
graph_entry_(graph_entry),
preorder_(),
postorder_(),
- reverse_postorder_(),
- invalid_dominator_tree_(true) {
+ reverse_postorder_() {
DiscoverBlocks();
}
@@ -231,7 +230,6 @@ void FlowGraph::ComputeSSA(intptr_t next_virtual_register_number,
// (preorder block numbers of) blocks in the dominance frontier.
void FlowGraph::ComputeDominators(
GrowableArray<BitVector*>* dominance_frontier) {
- invalid_dominator_tree_ = false;
// Use the SEMI-NCA algorithm to compute dominators. This is a two-pass
// version of the Lengauer-Tarjan algorithm (LT is normally three passes)
// that eliminates a pass by using nearest-common ancestor (NCA) to
@@ -673,15 +671,6 @@ void FlowGraph::Bailout(const char* reason) const {
}
-void FlowGraph::RepairGraphAfterInlining() {
- DiscoverBlocks();
- if (invalid_dominator_tree_) {
- GrowableArray<BitVector*> dominance_frontier;
- ComputeDominators(&dominance_frontier);
- }
-}
-
-
intptr_t FlowGraph::InstructionCount() const {
intptr_t size = 0;
// Iterate each block, skipping the graph entry.

Powered by Google App Engine
This is Rietveld 408576698