RFR: 8253843: AArch64: Use ishst for storestore barrier
Alan Hayward
github.com+4146708+a74nh at openjdk.java.net
Wed Sep 30 16:29:53 UTC 2020
AArch64 orderAccess uses gcc built in atomic functions, which expand
inline to DMB barrier instructions. Specifically, they call the following:
FULL_MEM_BARRIER -> DMB ISH
READ_MEM_BARRIER -> DMB ISHLD
WRITE_MEM_BARRIER -> DMB ISH
However, storestore should be optimised to use ISHST.
In addition, __sync_synchronize is marked as legacy. See:
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html
In order for the code to match, I switched everything to call dmbs directly.
Also, add AArch64 to the orderAccess documentation table.
-------------
Commit messages:
- AArch64: Use ishst for storestore barrier
Changes: https://git.openjdk.java.net/jdk/pull/427/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=427&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8253843
Stats: 37 lines in 3 files changed: 11 ins; 0 del; 26 mod
Patch: https://git.openjdk.java.net/jdk/pull/427.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/427/head:pull/427
PR: https://git.openjdk.java.net/jdk/pull/427
More information about the hotspot-runtime-dev
mailing list