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

Unified Diff: runtime/vm/flow_graph_optimizer.cc

Issue 10696151: Skeleton of a linear scan register allocator. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: address comments Created 8 years, 5 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_optimizer.cc
diff --git a/runtime/vm/flow_graph_optimizer.cc b/runtime/vm/flow_graph_optimizer.cc
index a02a048f50c3c75d750092c4c44fcd1c185e0c58..8072c6abd77b8f58b29637caaa3033bc3fd7f1b4 100644
--- a/runtime/vm/flow_graph_optimizer.cc
+++ b/runtime/vm/flow_graph_optimizer.cc
@@ -527,6 +527,9 @@ void FlowGraphOptimizer::VisitStoreIndexed(StoreIndexedComp* comp,
}
+#if 0
+// TODO(vegorov): land a separate CL to fix the fusion. Now it should remove
+// instruction from the graph to avoid confusing register allocator.
static void TryFuseComparisonWithBranch(BindInstr* instr,
ComparisonComp* comp) {
Instruction* next_instr = instr->next();
@@ -558,6 +561,7 @@ static void TryFuseComparisonWithBranch(BindInstr* instr,
}
}
}
+#endif
void FlowGraphOptimizer::VisitRelationalOp(RelationalOpComp* comp,
@@ -581,13 +585,17 @@ void FlowGraphOptimizer::VisitRelationalOp(RelationalOpComp* comp,
// For smi and double comparisons if the next instruction is a conditional
// branch that uses the value of this comparison mark them as fused together
// to avoid materializing a boolean value.
+#if 0
srdjan 2012/07/11 17:22:32 Enable once synced with branch fusion fix
TryFuseComparisonWithBranch(instr, comp);
+#endif
}
void FlowGraphOptimizer::VisitStrictCompare(StrictCompareComp* comp,
BindInstr* instr) {
+#if 0
TryFuseComparisonWithBranch(instr, comp);
+#endif
}
@@ -600,7 +608,9 @@ void FlowGraphOptimizer::VisitEqualityCompare(EqualityCompareComp* comp,
comp->set_ic_data(&unary_checks);
}
+#if 0
TryFuseComparisonWithBranch(instr, comp);
+#endif
}

Powered by Google App Engine
This is Rietveld 408576698