Inline threshold relative to frequency
Christian.Thalinger at Sun.COM
Thu Nov 26 01:35:33 PST 2009
On Tue, 2009-11-24 at 23:33 +0100, Ulf Zibis wrote:
> In my code example the regarding method is only called from 2 places,
> so the additional memory would not count so much here, and on the
> other hand the by-stack passing of 6 parameter arguments could be
> saved, so the amount of method parameters should be too valued for
> such a dynamic-threshold.
Maybe it should be.
> In reference to my other thread "Multiple copies of same code"
> removing the 6 copies of the finally block would save more
> > b) register pressure might increase -> worse register allocation (but
> > could be the other way around)
> > Also note that not all architectures use the stack for passing call
> > arguments. Even x86_64 has enough argument registers for this
> > particular method.
> Does that mean, that all the
> MOV EBP,[ESP + #72]
> MOV [ESP + #4],EBP
> pairs would be optimized to register usage in a following optimization
> step, I can't see by PrintAssembly?
No. The above code is very likely a register spill and happens because
the architecture does not have enough registers to hold all live values
for the currently compiled method.
More information about the hotspot-compiler-dev