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

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Fri Nov 29 15:42:14 UTC 2019


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-compiler-dev mailing list