java aliasing rules
Jeff Sturm
jsturm@one-point.com
Thu Apr 4 20:39:00 GMT 2002
On Fri, 5 Apr 2002, Bryce McKinlay wrote:
> Turning it off (although note that currently it isn't *on* in the first
> place ;-) should be as simple as turning off -fnon-call-exceptions. Then
> dereferences won't have flow edges and things can be reordered across
> them. Unfortunately that will also have the side-effect of not
> generating unwind info for leaf functions.
Well, sure... leaf functions have no use for unwind info if they will
never throw.
> I'd actually be fairly surprised if you were able to measure any large
> difference in performance between the two. Note that hopefully a
> dereference will only have an edge the first time it is dereferenced.
Agreed. It may be hard to measure all right, I find that "real" Java
programs usually suffer from other bottlenecks like synchronization or GC.
For that matter I don't know if there are any large general improvements
to be made in gcj. Most of the low-hanging fruit are gone.
> >(As an aside, it's hard to classify a "modern" processor... SPARC
> >and IA-64 are in-order, and likely to remain that way.)
> >
>> Meaning that it doesn't do any branch prediction/speculative execution
> at all? Interesting.
Yes, but isn't there a little more to OoO than that? Like reordering
instructions to avoid data hazards and cache misses?
Jeff
More information about the Java
mailing list