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

Unified Diff: runtime/vm/flow_graph_compiler.cc

Issue 1556173002: Use different inlining parameters for precompilation. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 12 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/flow_graph_compiler.cc
diff --git a/runtime/vm/flow_graph_compiler.cc b/runtime/vm/flow_graph_compiler.cc
index 17ca8f7f3a6b5718f935e29f31b3bc0d9a79dbc9..da0639c9dc9103a1dbcf6a2b90492b4e2b272adc 100644
--- a/runtime/vm/flow_graph_compiler.cc
+++ b/runtime/vm/flow_graph_compiler.cc
@@ -78,6 +78,12 @@ DECLARE_FLAG(bool, interpret_irregexp);
DECLARE_FLAG(bool, enable_mirrors);
DECLARE_FLAG(bool, link_natives_lazily);
DECLARE_FLAG(bool, trace_compiler);
+DECLARE_FLAG(int, inlining_hotness);
+DECLARE_FLAG(int, inlining_size_threshold);
+DECLARE_FLAG(int, inlining_callee_size_threshold);
+DECLARE_FLAG(int, inline_getters_setters_smaller_than);
+DECLARE_FLAG(int, inlining_depth_threshold);
+DECLARE_FLAG(int, inlining_caller_size_threshold);
bool FLAG_precompilation = false;
static void PrecompilationModeHandler(bool value) {
@@ -118,6 +124,17 @@ static void PrecompilationModeHandler(bool value) {
FLAG_fields_may_be_reset = true;
FLAG_allow_absolute_addresses = false;
+ // There is no counter feedback in precompilation, so ignore the counter
+ // when making inlining decisions.
+ FLAG_inlining_hotness = 0;
+ // Use smaller thresholds in precompilation as we are compiling everything
+ // with the optimizing compiler instead of only hot functions.
+ FLAG_inlining_size_threshold = 5;
Florian Schneider 2016/01/05 10:01:07 Maybe also scale down FLAG_inlining_constant_argum
rmacnak 2016/01/05 23:50:21 I'll look at those in a separate CL.
+ FLAG_inline_getters_setters_smaller_than = 5;
+ FLAG_inlining_callee_size_threshold = 20;
+ FLAG_inlining_depth_threshold = 2;
+ FLAG_inlining_caller_size_threshold = 1000;
+
// Background compilation relies on two-stage compilation pipeline,
// while precompilation has only one.
FLAG_background_compilation = false;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698