| Index: dart/runtime/vm/flow_graph.cc
 | 
| ===================================================================
 | 
| --- dart/runtime/vm/flow_graph.cc	(revision 37111)
 | 
| +++ dart/runtime/vm/flow_graph.cc	(working copy)
 | 
| @@ -42,7 +42,8 @@
 | 
|      use_far_branches_(false),
 | 
|      loop_headers_(NULL),
 | 
|      loop_invariant_loads_(NULL),
 | 
| -    guarded_fields_(builder.guarded_fields()) {
 | 
| +    guarded_fields_(builder.guarded_fields()),
 | 
| +    deferred_prefixes_(builder.deferred_prefixes()) {
 | 
|    DiscoverBlocks();
 | 
|  }
 | 
|  
 | 
| @@ -63,6 +64,21 @@
 | 
|  }
 | 
|  
 | 
|  
 | 
| +void FlowGraph::AddToDeferredPrefixes(
 | 
| +    ZoneGrowableArray<const LibraryPrefix*>* from) {
 | 
| +  ZoneGrowableArray<const LibraryPrefix*>* to = deferred_prefixes();
 | 
| +  for (intptr_t i = 0; i < from->length(); i++) {
 | 
| +    const  LibraryPrefix* prefix = (*from)[i];
 | 
| +    for (intptr_t j = 0; j < to->length(); j++) {
 | 
| +      if ((*to)[j]->raw() == prefix->raw()) {
 | 
| +        return;
 | 
| +      }
 | 
| +    }
 | 
| +    to->Add(prefix);
 | 
| +  }
 | 
| +}
 | 
| +
 | 
| +
 | 
|  bool FlowGraph::ShouldReorderBlocks(const Function& function,
 | 
|                                      bool is_optimized) {
 | 
|    return is_optimized && FLAG_reorder_basic_blocks && !function.is_intrinsic();
 | 
| 
 |