Chromium Code Reviews| 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()); |
|
Florian Schneider
2014/05/28 14:57:36
Why get a new deopt-id? The Instruction constructo
Florian Schneider
2014/05/28 14:58:52
Never mind this comment. It's needed because we us
|
| + AddInstruction(guard_field_class); |
| + |
| + store_value = Bind(BuildLoadExprTemp()); |
| + GuardFieldLengthInstr* guard_field_length = |
| + new GuardFieldLengthInstr(store_value, |
| + node->field(), |
| + Isolate::Current()->GetNextDeoptId()); |
|
Florian Schneider
2014/05/28 14:57:36
Why get a new deopt-id? The Instruction constructo
|
| + AddInstruction(guard_field_length); |
| + |
| store_value = Bind(BuildLoadExprTemp()); |
| StoreInstanceFieldInstr* store = |