This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Libjava failures status
Andrew Haley wrote:
> > > It would be nice if we could avoid pessimising this too much. eg given:
> > >
> > > a = foo.a;
> > > b = foo.b;
> > >
> > > Then obviously the second load from foo can not trap.
>
>Um, how do you know what order the memory accesses happen in? There's
>nothing to stop sched from moving them around.
>
Well, assuming "a" and "b" are visible/used outside the current block
and we don't already know that foo cannot be null, then these memory
accesses can't be safely reordered. So, the "foo.a" and "foo.b" must be
in different BBs? But since we know "foo.b" will not throw, it could be
safely scheduled concurrently with other following instructions.
regards
Bryce.