| 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(),
|
|
|