Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(87)

Side by Side Diff: runtime/vm/flow_graph_optimizer.cc

Issue 1433243003: Background compilation work: (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: d Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/flow_graph.cc ('k') | runtime/vm/heap.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/flow_graph_optimizer.h" 5 #include "vm/flow_graph_optimizer.h"
6 6
7 #include "vm/bit_vector.h" 7 #include "vm/bit_vector.h"
8 #include "vm/cha.h" 8 #include "vm/cha.h"
9 #include "vm/compiler.h" 9 #include "vm/compiler.h"
10 #include "vm/cpu.h" 10 #include "vm/cpu.h"
(...skipping 4601 matching lines...) Expand 10 before | Expand all | Expand 10 after
4612 if (FLAG_trace_optimization || FLAG_trace_field_guards) { 4612 if (FLAG_trace_optimization || FLAG_trace_field_guards) {
4613 THR_Print("Disabling unboxing of %s\n", field.ToCString()); 4613 THR_Print("Disabling unboxing of %s\n", field.ToCString());
4614 if (!setter.IsNull()) { 4614 if (!setter.IsNull()) {
4615 OS::Print(" setter usage count: %" Pd "\n", setter.usage_counter()); 4615 OS::Print(" setter usage count: %" Pd "\n", setter.usage_counter());
4616 } 4616 }
4617 if (!getter.IsNull()) { 4617 if (!getter.IsNull()) {
4618 OS::Print(" getter usage count: %" Pd "\n", getter.usage_counter()); 4618 OS::Print(" getter usage count: %" Pd "\n", getter.usage_counter());
4619 } 4619 }
4620 } 4620 }
4621 field.set_is_unboxing_candidate(false); 4621 field.set_is_unboxing_candidate(false);
4622 field.DeoptimizeDependentCode(); 4622 // Delay deoptimization of dependent code to the code installation time.
4623 flow_graph()->deoptimize_dependent_code().Add(&field);
4623 } else { 4624 } else {
4624 FlowGraph::AddToGuardedFields(flow_graph_->guarded_fields(), &field); 4625 FlowGraph::AddToGuardedFields(flow_graph_->guarded_fields(), &field);
4625 } 4626 }
4626 } 4627 }
4627 } 4628 }
4628 4629
4629 4630
4630 void FlowGraphOptimizer::VisitAllocateContext(AllocateContextInstr* instr) { 4631 void FlowGraphOptimizer::VisitAllocateContext(AllocateContextInstr* instr) {
4631 // Replace generic allocation with a sequence of inlined allocation and 4632 // Replace generic allocation with a sequence of inlined allocation and
4632 // explicit initalizing stores. 4633 // explicit initalizing stores.
(...skipping 4149 matching lines...) Expand 10 before | Expand all | Expand 10 after
8782 8783
8783 // Insert materializations at environment uses. 8784 // Insert materializations at environment uses.
8784 for (intptr_t i = 0; i < exits_collector_.exits().length(); i++) { 8785 for (intptr_t i = 0; i < exits_collector_.exits().length(); i++) {
8785 CreateMaterializationAt( 8786 CreateMaterializationAt(
8786 exits_collector_.exits()[i], alloc, *slots); 8787 exits_collector_.exits()[i], alloc, *slots);
8787 } 8788 }
8788 } 8789 }
8789 8790
8790 8791
8791 } // namespace dart 8792 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph.cc ('k') | runtime/vm/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698