java aliasing rules

Jeff Sturm jsturm@one-point.com
Sat Mar 30 06:37:00 GMT 2002


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



More information about the Java mailing list