[aarch64-port-dev ] RFR: [8u] 8209835: Aarch64: elide barriers on all volatile operations
Yangfei (Felix)
felix.yang at huawei.com
Wed Aug 28 07:01:01 UTC 2019
Hi,
Could I have a review for this backport to aarch64 8u repo please?
Webrev: http://cr.openjdk.java.net/~fyang/8209835-8u-backport/webrev.00/
Changes related to CompareAndExchange* and WeakCompareAndSwap* in the original patch are not needed for the aarch64 8u repo.
Volatile access inconsistency still exists for some unsafe operations. One example is AtomicReference.
For the volatile field 'value', compareAndSet() method accesses it through unsafe.compareAndSwapObject().
And getAndSet() method accessed it through unsafe.getAndSetObject().
Currently, C2 will emit ldar & stlr to implement unsafe.compareAndSwapObject(), but that is not the case for unsafe.getAndSetObject().
C2 still emits explicit dmb instructions to implement unsafe.getAndSetObject().
Jtreg tested with aarch64 fastdebug build. Also passed jcstress test.
Corresponding 11u backport link:
https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2019-August/001740.html
Thanks,
Felix
More information about the aarch64-port-dev
mailing list