This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: java aliasing rules


On Sat, 30 Mar 2002, Bryce McKinlay wrote:
> With this code, if "ps2" is null then the second load (lhz) will throw 
> before the ps1.f1 is seen as incremented.

That's a shame.

> The optimal, correct code for 
> Java is really something like:
> 
> lhz r9, [ps1.f1]
> addi r9,r9,1
> sth r9, [ps1.f1]

Wouldn't accessing r9 immediately after the load cause a pipeline stall?
Assuming an in-order processor?  That would be a significant performance
hit.

Come to think of it, what happens on an out-of-order processor (e.g.
Alpha EV6) when an instruction traps?  Are preceding instructions 
guaranteed to have completed?  I'm curious.

Jeff


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]