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

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

Issue 1409523003: Trace through const objects instead of spying on flow graph construction to find closure functions.… (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: 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/flow_graph_builder.cc ('k') | runtime/vm/isolate.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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 DECLARE_FLAG(bool, propagate_ic_data); 63 DECLARE_FLAG(bool, propagate_ic_data);
64 DECLARE_FLAG(int, regexp_optimization_counter_threshold); 64 DECLARE_FLAG(int, regexp_optimization_counter_threshold);
65 DECLARE_FLAG(int, reoptimization_counter_threshold); 65 DECLARE_FLAG(int, reoptimization_counter_threshold);
66 DECLARE_FLAG(int, stacktrace_every); 66 DECLARE_FLAG(int, stacktrace_every);
67 DECLARE_FLAG(charp, stacktrace_filter); 67 DECLARE_FLAG(charp, stacktrace_filter);
68 DECLARE_FLAG(bool, support_debugger); 68 DECLARE_FLAG(bool, support_debugger);
69 DECLARE_FLAG(bool, use_field_guards); 69 DECLARE_FLAG(bool, use_field_guards);
70 DECLARE_FLAG(bool, use_cha_deopt); 70 DECLARE_FLAG(bool, use_cha_deopt);
71 DECLARE_FLAG(bool, use_osr); 71 DECLARE_FLAG(bool, use_osr);
72 DECLARE_FLAG(bool, warn_on_javascript_compatibility); 72 DECLARE_FLAG(bool, warn_on_javascript_compatibility);
73 DECLARE_FLAG(bool, precompile_collect_closures);
74 DECLARE_FLAG(bool, print_stop_message); 73 DECLARE_FLAG(bool, print_stop_message);
75 DECLARE_FLAG(bool, lazy_dispatchers); 74 DECLARE_FLAG(bool, lazy_dispatchers);
76 DECLARE_FLAG(bool, interpret_irregexp); 75 DECLARE_FLAG(bool, interpret_irregexp);
77 DECLARE_FLAG(bool, enable_mirrors); 76 DECLARE_FLAG(bool, enable_mirrors);
78 DECLARE_FLAG(bool, link_natives_lazily); 77 DECLARE_FLAG(bool, link_natives_lazily);
79 78
80 static void PrecompilationModeHandler(bool value) { 79 static void PrecompilationModeHandler(bool value) {
81 if (value) { 80 if (value) {
82 #if defined(TARGET_ARCH_IA32) 81 #if defined(TARGET_ARCH_IA32)
83 FATAL("Precompilation not supported on IA32"); 82 FATAL("Precompilation not supported on IA32");
(...skipping 20 matching lines...) Expand all
104 // TODO(srdjan): Enable CHA deoptimization when eager class finalization is 103 // TODO(srdjan): Enable CHA deoptimization when eager class finalization is
105 // implemented, either with precompilation or as a special pass. 104 // implemented, either with precompilation or as a special pass.
106 FLAG_use_cha_deopt = false; 105 FLAG_use_cha_deopt = false;
107 // Calling the PrintStopMessage stub is not supported in precompiled code 106 // Calling the PrintStopMessage stub is not supported in precompiled code
108 // since it is done at places where no pool pointer is loaded. 107 // since it is done at places where no pool pointer is loaded.
109 FLAG_print_stop_message = false; 108 FLAG_print_stop_message = false;
110 109
111 FLAG_lazy_dispatchers = false; 110 FLAG_lazy_dispatchers = false;
112 FLAG_interpret_irregexp = true; 111 FLAG_interpret_irregexp = true;
113 FLAG_enable_mirrors = false; 112 FLAG_enable_mirrors = false;
114 FLAG_precompile_collect_closures = true;
115 FLAG_link_natives_lazily = true; 113 FLAG_link_natives_lazily = true;
116 FLAG_fields_may_be_reset = true; 114 FLAG_fields_may_be_reset = true;
117 FLAG_allow_absolute_addresses = false; 115 FLAG_allow_absolute_addresses = false;
118 116
119 // Background compilation relies on two-stage compilation pipeline, 117 // Background compilation relies on two-stage compilation pipeline,
120 // while precompilation has only one. 118 // while precompilation has only one.
121 FLAG_background_compilation = false; 119 FLAG_background_compilation = false;
122 } 120 }
123 } 121 }
124 122
(...skipping 1717 matching lines...) Expand 10 before | Expand all | Expand 10 after
1842 1840
1843 1841
1844 void FlowGraphCompiler::FrameStateClear() { 1842 void FlowGraphCompiler::FrameStateClear() {
1845 ASSERT(!is_optimizing()); 1843 ASSERT(!is_optimizing());
1846 frame_state_.TruncateTo(0); 1844 frame_state_.TruncateTo(0);
1847 } 1845 }
1848 #endif 1846 #endif
1849 1847
1850 1848
1851 } // namespace dart 1849 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_builder.cc ('k') | runtime/vm/isolate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698