Reviewers: mvstanton,

Message:
PTAL
I additionally added always inlining of small methods, which slightly mitigates
the performance loss on raytrace.

Description:
Reset inlining limits due to overly long compilation times in Speedometer,
Dart2JS

BUG=454625

Please review this at https://codereview.chromium.org/900553003/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+6, -4 lines):
  M src/flag-definitions.h
  M src/hydrogen.cc


Index: src/flag-definitions.h
diff --git a/src/flag-definitions.h b/src/flag-definitions.h
index 5ccd47fbc7a7c87b320673102218863d33abf035..2c0818cfc4dcaeeda3e973abe1c3668307582356 100644
--- a/src/flag-definitions.h
+++ b/src/flag-definitions.h
@@ -286,11 +286,11 @@ DEFINE_BOOL(use_local_allocation_folding, false, "only fold in basic blocks")
 DEFINE_BOOL(use_write_barrier_elimination, true,
"eliminate write barriers targeting allocations in optimized code")
 DEFINE_INT(max_inlining_levels, 5, "maximum number of inlining levels")
-DEFINE_INT(max_inlined_source_size, 1150,
+DEFINE_INT(max_inlined_source_size, 600,
            "maximum source size in bytes considered for a single inlining")
-DEFINE_INT(max_inlined_nodes, 200,
+DEFINE_INT(max_inlined_nodes, 196,
            "maximum number of AST nodes considered for a single inlining")
-DEFINE_INT(max_inlined_nodes_cumulative, 3000,
+DEFINE_INT(max_inlined_nodes_cumulative, 400,
"maximum cumulative number of AST nodes considered for inlining")
 DEFINE_BOOL(loop_invariant_code_motion, true, "loop invariant code motion")
DEFINE_BOOL(fast_math, true, "faster (but maybe less accurate) math functions")
Index: src/hydrogen.cc
diff --git a/src/hydrogen.cc b/src/hydrogen.cc
index 57be6b4051043c1d21efd8e3fac9ee5a78c51074..7291bd1786c5d64bb4d3682a942b907854f2a37b 100644
--- a/src/hydrogen.cc
+++ b/src/hydrogen.cc
@@ -7885,7 +7885,9 @@ bool HOptimizedGraphBuilder::TryInline(Handle<JSFunction> target,
   }

// We don't want to add more than a certain number of nodes from inlining.
-  if (inlined_count_ > Min(FLAG_max_inlined_nodes_cumulative,
+  // Always inline small methods (<= 10 nodes).
+  if (nodes_added > 10 &&
+      inlined_count_ > Min(FLAG_max_inlined_nodes_cumulative,
                            kUnlimitedMaxInlinedNodesCumulative)) {
     TraceInline(target, caller, "cumulative AST node limit reached");
     return false;


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to