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

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

Issue 1386503002: Initial design for background compilation (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Address Comments Created 5 years, 2 months 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/compiler.cc ('k') | runtime/vm/flow_graph_optimizer.h » ('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/globals.h" // Needed here to get TARGET_ARCH_XXX. 5 #include "vm/globals.h" // Needed here to get TARGET_ARCH_XXX.
6 6
7 #include "vm/flow_graph_compiler.h" 7 #include "vm/flow_graph_compiler.h"
8 8
9 #include "vm/bit_vector.h" 9 #include "vm/bit_vector.h"
10 #include "vm/cha.h" 10 #include "vm/cha.h"
(...skipping 28 matching lines...) Expand all
39 DEFINE_FLAG(int, optimization_counter_scale, 2000, 39 DEFINE_FLAG(int, optimization_counter_scale, 2000,
40 "The scale of invocation count, by size of the function."); 40 "The scale of invocation count, by size of the function.");
41 DEFINE_FLAG(bool, polymorphic_with_deopt, true, 41 DEFINE_FLAG(bool, polymorphic_with_deopt, true,
42 "Polymorphic calls can be generated so that failure either causes " 42 "Polymorphic calls can be generated so that failure either causes "
43 "deoptimization or falls through to a megamorphic call"); 43 "deoptimization or falls through to a megamorphic call");
44 DEFINE_FLAG(bool, source_lines, false, "Emit source line as assembly comment."); 44 DEFINE_FLAG(bool, source_lines, false, "Emit source line as assembly comment.");
45 DEFINE_FLAG(bool, trace_inlining_intervals, false, 45 DEFINE_FLAG(bool, trace_inlining_intervals, false,
46 "Inlining interval diagnostics"); 46 "Inlining interval diagnostics");
47 DEFINE_FLAG(bool, use_megamorphic_stub, true, "Out of line megamorphic lookup"); 47 DEFINE_FLAG(bool, use_megamorphic_stub, true, "Out of line megamorphic lookup");
48 48
49 DECLARE_FLAG(bool, background_compilation);
49 DECLARE_FLAG(bool, code_comments); 50 DECLARE_FLAG(bool, code_comments);
50 DECLARE_FLAG(bool, deoptimize_alot); 51 DECLARE_FLAG(bool, deoptimize_alot);
51 DECLARE_FLAG(int, deoptimize_every); 52 DECLARE_FLAG(int, deoptimize_every);
52 DECLARE_FLAG(charp, deoptimize_filter); 53 DECLARE_FLAG(charp, deoptimize_filter);
53 DECLARE_FLAG(bool, disassemble); 54 DECLARE_FLAG(bool, disassemble);
54 DECLARE_FLAG(bool, disassemble_optimized); 55 DECLARE_FLAG(bool, disassemble_optimized);
55 DECLARE_FLAG(bool, emit_edge_counters); 56 DECLARE_FLAG(bool, emit_edge_counters);
56 DECLARE_FLAG(bool, fields_may_be_reset); 57 DECLARE_FLAG(bool, fields_may_be_reset);
57 DECLARE_FLAG(bool, guess_other_cid); 58 DECLARE_FLAG(bool, guess_other_cid);
58 DECLARE_FLAG(bool, ic_range_profiling); 59 DECLARE_FLAG(bool, ic_range_profiling);
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 // since it is done at places where no pool pointer is loaded. 108 // since it is done at places where no pool pointer is loaded.
108 FLAG_print_stop_message = false; 109 FLAG_print_stop_message = false;
109 110
110 FLAG_lazy_dispatchers = false; 111 FLAG_lazy_dispatchers = false;
111 FLAG_interpret_irregexp = true; 112 FLAG_interpret_irregexp = true;
112 FLAG_enable_mirrors = false; 113 FLAG_enable_mirrors = false;
113 FLAG_precompile_collect_closures = true; 114 FLAG_precompile_collect_closures = true;
114 FLAG_link_natives_lazily = true; 115 FLAG_link_natives_lazily = true;
115 FLAG_fields_may_be_reset = true; 116 FLAG_fields_may_be_reset = true;
116 FLAG_allow_absolute_addresses = false; 117 FLAG_allow_absolute_addresses = false;
118
119 // Background compilation relies on two-stage compilation pipeline,
120 // while precompilation has only one.
121 FLAG_background_compilation = false;
117 } 122 }
118 } 123 }
119 124
120 125
121 DEFINE_FLAG_HANDLER(PrecompilationModeHandler, 126 DEFINE_FLAG_HANDLER(PrecompilationModeHandler,
122 precompilation, 127 precompilation,
123 "Precompilation mode"); 128 "Precompilation mode");
124 129
125 130
126 // Assign locations to incoming arguments, i.e., values pushed above spill slots 131 // Assign locations to incoming arguments, i.e., values pushed above spill slots
(...skipping 1708 matching lines...) Expand 10 before | Expand all | Expand 10 after
1835 1840
1836 1841
1837 void FlowGraphCompiler::FrameStateClear() { 1842 void FlowGraphCompiler::FrameStateClear() {
1838 ASSERT(!is_optimizing()); 1843 ASSERT(!is_optimizing());
1839 frame_state_.TruncateTo(0); 1844 frame_state_.TruncateTo(0);
1840 } 1845 }
1841 #endif 1846 #endif
1842 1847
1843 1848
1844 } // namespace dart 1849 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/compiler.cc ('k') | runtime/vm/flow_graph_optimizer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698