RFR: 8234863: Increase default value of MaxInlineLevel

Jason Zaugg jzaugg at gmail.com
Fri Dec 13 02:47:25 UTC 2019


On Fri, 13 Dec 2019 at 00:43, Vladimir Ivanov <vladimir.x.ivanov at oracle.com>
wrote:

>
> On the heuristic itself, it looks like it can be safely generalized to
> any methods which just call another method irrespective of how many
> arguments they pass (and in what order).
>

Agreed. I was initially aiming for minimality to make it dead-simple to
reason that the
inlinee would not grow and to make the analysis cheap enough to perform
eagerly
during bytecode parsing.


> Nice! The idea to exclude bridge-like methods from max inline level
> accounting looks very promising. Do you have any plans to continue
> working on it and contribute as a patch into the mainline at some point?
>

I could spend some time to clean up the patch. However, I would need
signficant guidance
to extend it to John's suggestion to admit type adaptations / constant
loads / known
cheap methods etc. Would this more thorough analysis it suit a C2-only
analysis
performed on an IR instead? Is the set of cheap methods defined with an
annotation,
a list of owner/name/descriptors or some other means? What is the testing
strategy?
It would likely be more efficient for someone with the experience in the
code base
implement themselves rather than shepherd me through it :)

-jason


More information about the hotspot-compiler-dev mailing list