Index: runtime/vm/flow_graph_builder.cc |
=================================================================== |
--- runtime/vm/flow_graph_builder.cc (revision 45502) |
+++ runtime/vm/flow_graph_builder.cc (working copy) |
@@ -3504,30 +3504,19 @@ |
} |
if (FLAG_use_field_guards) { |
- if (node->field().guarded_cid() != kDynamicCid) { |
- store_value = Bind(BuildStoreExprTemp(store_value)); |
- GuardFieldClassInstr* guard_field_class = |
- new(Z) GuardFieldClassInstr(store_value, |
- node->field(), |
- isolate()->GetNextDeoptId()); |
- AddInstruction(guard_field_class); |
- store_value = Bind(BuildLoadExprTemp()); |
- if (node->field().guarded_list_length() != Field::kNoFixedLength) { |
- GuardFieldLengthInstr* guard_field_length = |
- new(Z) GuardFieldLengthInstr(store_value, |
- node->field(), |
- isolate()->GetNextDeoptId()); |
- AddInstruction(guard_field_length); |
- store_value = Bind(BuildLoadExprTemp()); |
- } else { |
- // Advance deopt-id counter to remain in sync. |
- isolate()->GetNextDeoptId(); |
- } |
- } else { |
- // Advance deopt-id counter to remain in sync. |
- isolate()->GetNextDeoptId(); |
- isolate()->GetNextDeoptId(); |
- } |
+ store_value = Bind(BuildStoreExprTemp(store_value)); |
+ GuardFieldClassInstr* guard_field_class = |
+ new(Z) GuardFieldClassInstr(store_value, |
+ node->field(), |
+ isolate()->GetNextDeoptId()); |
+ AddInstruction(guard_field_class); |
+ store_value = Bind(BuildLoadExprTemp()); |
+ GuardFieldLengthInstr* guard_field_length = |
+ new(Z) GuardFieldLengthInstr(store_value, |
+ node->field(), |
+ isolate()->GetNextDeoptId()); |
+ AddInstruction(guard_field_length); |
+ store_value = Bind(BuildLoadExprTemp()); |
} |
StoreInstanceFieldInstr* store = |
new(Z) StoreInstanceFieldInstr(node->field(), |