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

Unified Diff: runtime/vm/flow_graph_builder.cc

Issue 304703002: Split GuardField into GuardFieldType and GuardFieldLength instructions. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 7 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
« no previous file with comments | « runtime/vm/dart_api_impl.cc ('k') | runtime/vm/flow_graph_compiler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/flow_graph_builder.cc
diff --git a/runtime/vm/flow_graph_builder.cc b/runtime/vm/flow_graph_builder.cc
index 9e9644f6fd2003b01980e2d63aa5066e4bd35ee3..f7804925d85302cf4ccaa29b7d0b35a350bcc24c 100644
--- a/runtime/vm/flow_graph_builder.cc
+++ b/runtime/vm/flow_graph_builder.cc
@@ -3174,11 +3174,19 @@ void EffectGraphVisitor::VisitStoreInstanceFieldNode(
}
store_value = Bind(BuildStoreExprTemp(store_value));
- GuardFieldInstr* guard =
- new GuardFieldInstr(store_value,
- node->field(),
- Isolate::Current()->GetNextDeoptId());
- AddInstruction(guard);
+ GuardFieldClassInstr* guard_field_class =
+ new GuardFieldClassInstr(store_value,
+ node->field(),
+ Isolate::Current()->GetNextDeoptId());
+ AddInstruction(guard_field_class);
+
+ store_value = Bind(BuildLoadExprTemp());
+ GuardFieldLengthInstr* guard_field_length =
+ new GuardFieldLengthInstr(store_value,
+ node->field(),
+ Isolate::Current()->GetNextDeoptId());
+ AddInstruction(guard_field_length);
+
store_value = Bind(BuildLoadExprTemp());
StoreInstanceFieldInstr* store =
« no previous file with comments | « runtime/vm/dart_api_impl.cc ('k') | runtime/vm/flow_graph_compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698