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: 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.



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