AArch64: what now?

Tom Rodriguez tom.rodriguez at oracle.com
Mon Nov 28 19:03:24 UTC 2016

> On Nov 28, 2016, at 9:34 AM, Andrew Haley <aph at redhat.com> wrote:
> I've got to a point where I think the AArch64 Graal port is basically
> decent.
> However, there are some core Graal bugs which are blocking testing and
> other progress.
> These are:
> Constructors with final fields need a release memory barrier. #221

I’m preparing a fix for this.  The test failure is because of the extra MemBar in the graph which isn’t actually needed because the object is non-escaping.  So you can’t simply insert a raw MemBar at the beginning.  It has to be something which is understood by EA so it can be eliminated too.  C2 doesn’t something similar with it’s MemBarNodes.

> Unsafe.storeFence is moved by Partial Escape Analysis #222

Fixing this will require a bit more work since it exposes a general question of the interaction between EA and memory barriers.  Are you actually hitting real failures because of this change?  I mean if the final barriers and the barriers for allocation were being done properly what would be failing?  The Unsafe fence intrinsics don’t seemed to be used very much in the JDK so it wasn’t clear where you were hitting this.

> WeakReference::get() read is elminated from a loop #223

Has been fixed.


> I'd really appreciate help here.  221 has a baffling test failure, and
> I've asked for clarification.  222, Partial Escape Analysis is more
> than I really want to tackle right now.  223, I have asked for
> clarification about whether a MembarNode(0) is an appropriate fix.
> Thanks,
> Andrew.

More information about the graal-dev mailing list