Summary
Obsolete the VM product option UseBarriersForVolatile
Problem
Running application with option "-XX:+UseBarriersForVolatile" might have memory consistent issue like what mentioned in https://bugs.openjdk.java.net/browse/JDK-8241137. Besides it adds complexity to the volatile access implementation, and each usage of it needs to take more consideration of the memory consistent and tests. Since ldar/stlr
can work well stably for volatile access, and so does ldaxr/stlxr
for unsafe atomic operations, we'd better simplify things by removing this flag and the alternative implementation for volatile memory access.
Solution
Obsolete the option and remove its usages in hotspot.
Here is the discussion details about this flag:
http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-March/008679.html
http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-April/008706.html
Specification
Running java
with option -XX:+/-UseBarriersForVolatile
will no longer enable or disable the feature. Instead, it will print the usual obsolete option warning.
- csr of
-
JDK-8243339 AArch64: Obsolete UseBarriersForVolatile option
- Resolved