[14] RFR (S): 8226411: C2: Avoid memory barriers around off-heap unsafe accesses

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Dec 5 19:16:37 UTC 2019

CCing to GC group.

Looks fine to me but someone from GC land have to look too.

I wish we have more concrete indication for off-heap access instead of guessing it based on how we address memory 
through Unsafe API.


On 11/29/19 7:42 AM, Vladimir Ivanov wrote:
> http://cr.openjdk.java.net/~vlivanov/8226411/webrev.00/
> https://bugs.openjdk.java.net/browse/JDK-8226411
> There were a number of fixes in C2 support for unsafe accesses recently which led to additional memory barriers around 
> them. It improved stability, but in some cases it was redundant. One of important use cases which regressed is off-heap 
> accesses [1]. The barriers around them are redundant because they are serialized on raw memory and don't intersect with 
> any on-heap accesses.
> Proposed fix skips memory barriers around unsafe accesses which are provably off-heap (base == NULL).
> It (almost completely) recovers performance on the microbenchmark provided in JDK-8224182 [1].
> Testing: tier1-6.
> Best regards,
> Vladimir Ivanov
> [1] https://bugs.openjdk.java.net/browse/JDK-8224182

More information about the hotspot-gc-dev mailing list