[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.
Thanks,
Vladimir
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-compiler-dev
mailing list