OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |