[aarch64-port-dev ] RFR: 8144993: Elide redundant memory barrier after AllocationNode

Andrew Haley aph at redhat.com
Thu Dec 17 13:59:47 UTC 2015


On 12/17/2015 01:54 PM, Doerr, Martin wrote:

> So you can see that both Allocations have the state NoEscape, but
> there’s a safepoint (the non-inlined call) between them. Concurrent
> GC could access the obj header and read stale data (and possibly
> crash). OptoAssembly shows that the MemBar was optimized out
> (probably due to 8136596).
> 
> However, we may have luck. Maybe no concurrent GC accesses the
> header of newly created objects. But I don’t know if this is true
> which is the reason why I posted this question originally. Keep in
> mind that objects can get allocated in old gen.

So, they are both NoEscape.  So do the objects actually get allocated?
Or are they scalar-replaced?

Andrew.


More information about the aarch64-port-dev mailing list