| Index: runtime/vm/flow_graph.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph.cc (revision 27696)
|
| +++ runtime/vm/flow_graph.cc (working copy)
|
| @@ -38,11 +38,28 @@
|
| licm_allowed_(true),
|
| use_far_branches_(false),
|
| loop_headers_(NULL),
|
| - loop_invariant_loads_(NULL) {
|
| + loop_invariant_loads_(NULL),
|
| + guarded_fields_(builder.guarded_fields()) {
|
| DiscoverBlocks();
|
| }
|
|
|
|
|
| +void FlowGraph::AddToGuardedFields(
|
| + ZoneGrowableArray<const Field*>* array,
|
| + const Field* field) {
|
| + if ((field->guarded_cid() == kDynamicCid) ||
|
| + (field->guarded_cid() == kIllegalCid)) {
|
| + return;
|
| + }
|
| + for (intptr_t j = 0; j < array->length(); j++) {
|
| + if ((*array)[j]->raw() == field->raw()) {
|
| + return;
|
| + }
|
| + }
|
| + array->Add(field);
|
| +}
|
| +
|
| +
|
| GrowableArray<BlockEntryInstr*>* FlowGraph::codegen_block_order(
|
| bool is_optimized) {
|
| return (is_optimized && FLAG_reorder_basic_blocks)
|
|
|