RFR: AArch64: 8179954: AArch64: C1 and C2 volatile accesses are not sequentially consistent

White, Derek Derek.White at cavium.com
Thu May 11 15:58:32 UTC 2017


Hi Andrew,

I understand your point on correctness. But thanks for fighting through this one.

Code looks good.

 - Derek

-----Original Message-----
From: Andrew Haley [mailto:aph at redhat.com] 
Sent: Thursday, May 11, 2017 8:31 AM
To: White, Derek <Derek.White at cavium.com>; Aleksey Shipilev <shade at redhat.com>; hotspot-dev Source Developers <hotspot-dev at openjdk.java.net>
Subject: Re: RFR: AArch64: 8179954: AArch64: C1 and C2 volatile accesses are not sequentially consistent

Thanks for finding that bug.  It's a reminder that we need to concentrate on doing the minimum at this stage to ensure correctness.
Our performance is good, and this change is not hugely profitable.  It's not worth risking the whole ship for.

Nevertheless, I've made a new webrev, which does the right thing.  I stepped through the code to make sure.  I've come this far, so I might as well get it right.  (Yes, I'm aware that I just fell into the sunk cost fallacy, but I want something to show for the work I've done.)

http://cr.openjdk.java.net/~aph/8179954-3/

In JDK 10 we should look at replacing all the explicit fences used for volatiles with LDAR/STLR.

OK?  I'd like two reviewers for this one.

Andrew.


More information about the hotspot-dev mailing list