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

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

Issue 2572423004: Reapply "Save and restore feedback from JIT." (Closed)
Patch Set: Created 4 years 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
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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 60
61 DECLARE_FLAG(bool, code_comments); 61 DECLARE_FLAG(bool, code_comments);
62 DECLARE_FLAG(charp, deoptimize_filter); 62 DECLARE_FLAG(charp, deoptimize_filter);
63 DECLARE_FLAG(bool, intrinsify); 63 DECLARE_FLAG(bool, intrinsify);
64 DECLARE_FLAG(bool, propagate_ic_data); 64 DECLARE_FLAG(bool, propagate_ic_data);
65 DECLARE_FLAG(int, regexp_optimization_counter_threshold); 65 DECLARE_FLAG(int, regexp_optimization_counter_threshold);
66 DECLARE_FLAG(int, reoptimization_counter_threshold); 66 DECLARE_FLAG(int, reoptimization_counter_threshold);
67 DECLARE_FLAG(int, stacktrace_every); 67 DECLARE_FLAG(int, stacktrace_every);
68 DECLARE_FLAG(charp, stacktrace_filter); 68 DECLARE_FLAG(charp, stacktrace_filter);
69 DECLARE_FLAG(bool, trace_compiler); 69 DECLARE_FLAG(bool, trace_compiler);
70 DECLARE_FLAG(int, inlining_hotness);
71 DECLARE_FLAG(int, inlining_size_threshold);
72 DECLARE_FLAG(int, inlining_callee_size_threshold);
73 DECLARE_FLAG(int, inline_getters_setters_smaller_than);
74 DECLARE_FLAG(int, inlining_depth_threshold);
75 DECLARE_FLAG(int, inlining_caller_size_threshold);
76 DECLARE_FLAG(int, inlining_constant_arguments_max_size_threshold);
77 DECLARE_FLAG(int, inlining_constant_arguments_min_size_threshold);
78 DECLARE_FLAG(int, reload_every); 70 DECLARE_FLAG(int, reload_every);
79 DECLARE_FLAG(bool, unbox_numeric_fields); 71 DECLARE_FLAG(bool, unbox_numeric_fields);
80 72
81 static void PrecompilationModeHandler(bool value) { 73 static void PrecompilationModeHandler(bool value) {
82 if (value) { 74 if (value) {
83 #if defined(TARGET_ARCH_IA32) 75 #if defined(TARGET_ARCH_IA32)
84 FATAL("Precompilation not supported on IA32"); 76 FATAL("Precompilation not supported on IA32");
85 #endif 77 #endif
86 78
87 #if !defined(DART_PRECOMPILED_RUNTIME)
88 // Flags affecting compilation only:
89 // There is no counter feedback in precompilation, so ignore the counter
90 // when making inlining decisions.
91 FLAG_inlining_hotness = 0;
92 // Use smaller thresholds in precompilation as we are compiling everything
93 // with the optimizing compiler instead of only hot functions.
94 FLAG_inlining_size_threshold = 5;
95 FLAG_inline_getters_setters_smaller_than = 5;
96 FLAG_inlining_callee_size_threshold = 20;
97 FLAG_inlining_depth_threshold = 4;
98 FLAG_inlining_caller_size_threshold = 1000;
99 FLAG_inlining_constant_arguments_max_size_threshold = 100;
100 FLAG_inlining_constant_arguments_min_size_threshold = 30;
101 #endif
102
103 FLAG_background_compilation = false; 79 FLAG_background_compilation = false;
104 FLAG_fields_may_be_reset = true; 80 FLAG_fields_may_be_reset = true;
105 FLAG_interpret_irregexp = true; 81 FLAG_interpret_irregexp = true;
106 FLAG_lazy_dispatchers = false; 82 FLAG_lazy_dispatchers = false;
107 FLAG_link_natives_lazily = true; 83 FLAG_link_natives_lazily = true;
108 FLAG_optimization_counter_threshold = -1; 84 FLAG_optimization_counter_threshold = -1;
109 FLAG_polymorphic_with_deopt = false; 85 FLAG_polymorphic_with_deopt = false;
110 FLAG_precompiled_mode = true; 86 FLAG_precompiled_mode = true;
111 FLAG_reorder_basic_blocks = false; 87 FLAG_reorder_basic_blocks = false;
112 FLAG_use_field_guards = false; 88 FLAG_use_field_guards = false;
(...skipping 1868 matching lines...) Expand 10 before | Expand all | Expand 10 after
1981 1957
1982 1958
1983 void FlowGraphCompiler::FrameStateClear() { 1959 void FlowGraphCompiler::FrameStateClear() {
1984 ASSERT(!is_optimizing()); 1960 ASSERT(!is_optimizing());
1985 frame_state_.TruncateTo(0); 1961 frame_state_.TruncateTo(0);
1986 } 1962 }
1987 #endif // defined(DEBUG) && !defined(TARGET_ARCH_DBC) 1963 #endif // defined(DEBUG) && !defined(TARGET_ARCH_DBC)
1988 1964
1989 1965
1990 } // namespace dart 1966 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698