MaxBCEAEstimateSize and inlining clarification

Vitaly Davidovich vitalyd at
Thu Sep 8 10:38:46 UTC 2016

Hi guys,

I'm hoping someone could clarify how MaxBCEAEstimateSize interacts with

The default max size is 150, nearly half the size of FreqInlineSize. Is EA
eligibility performed on a method before it's inlined then? I can't imagine
that 150 is the limit after inlining. If it's before inlining, how exactly
does this work after the method is inlined since the inlined call graph may
have quite a bit of code and thus EA may take a while? My understanding is
EA is run after inlining to maximize its effectiveness. Or is the
MaxBCEAEstimateLevel used as pseudo inlining for the analysis?

I'm seeing some code that iterates over a ConcurrentHashMap's entrySet that
allocates tens of GB of CHM$MapEntry objects even though they don't escape.
I'm also seeing some other places where EA ought to be kicking in but
isn't. So I'd like to understand the nuances of it a bit better.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the hotspot-compiler-dev mailing list