InlineSmallCode is too low by default

Igor Veresov iggy.veresov at
Mon Apr 23 14:54:39 PDT 2012

There are going to be some regressions if you do that. In particular some of the subbenchmarks in specjvm2008 will show worse results. In general the current inlining in C2 needs to be reworked in favor of a post-parse inlining-based strategy. InlineSmallCode is a very big knob...


On Apr 23, 2012, at 9:50 AM, Rémi Forax wrote:

> InlineSmallCode is set to 1000 on x86 by default if tiered mode
> is not enabled and 2000 if tiered mode is enabled.
> I wonder if there is a reason for that inconsistency.
> InlineSmallCode is the threshold used by the inlining heuristic
> to know if a method is too big or not to be inlined multiple times,
> on my dynamic language runtime, setting it to 2000 is very important
> because otherwise most of the high order functions (function that
> takes a function as argument) are not compiled with their callsite
> so escape analysis can't work.
> I suppose it's also the case for users that use libraries like
> Google guava or Goldman Sachs's gs-collection that exhibit the same patterns.
> that why I propose to bump InlineSmallCode to 2000 for x86 and
> 2500 for sparc by default (the defaults in tiered mode).
> Rémi

More information about the hotspot-runtime-dev mailing list