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

Unified Diff: runtime/vm/flow_graph_type_propagator.cc

Issue 938783003: Don't constant fold operation if result is incompatible with it. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Work-around quasi-missing deopt environments Created 5 years, 10 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_type_propagator.cc
diff --git a/runtime/vm/flow_graph_type_propagator.cc b/runtime/vm/flow_graph_type_propagator.cc
index bc052f687d02d76610e55807d24aed3c1df0cd42..74f28a6512b78b8211d492b01bb43e22cb36aa65 100644
--- a/runtime/vm/flow_graph_type_propagator.cc
+++ b/runtime/vm/flow_graph_type_propagator.cc
@@ -661,6 +661,13 @@ bool CompileType::IsMoreSpecificThan(const AbstractType& other) {
}
+void Value::UpdateReachingType(Definition* new_definition) {
+ if (definition()->Type() == reaching_type_) {
+ reaching_type_ = NULL;
+ }
+}
+
+
CompileType* Value::Type() {
if (reaching_type_ == NULL) {
reaching_type_ = definition()->Type();

Powered by Google App Engine
This is Rietveld 408576698