[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-compiler-dev
Subject:    Inline threshold relative to frequency
From:       Christian.Thalinger () Sun ! COM (Christian Thalinger)
Date:       2009-11-26 9:35:33
Message-ID: 1259228133.875.8.camel () macbook
[Download RAW message or body]

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
> memory/cache.
> 
> > 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.

-- Christian


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic