RFR (S) 8222766: Shenandoah: streamline post-LRB CAS barrier (x86)

Aleksey Shipilev shade at redhat.com
Wed Oct 23 10:56:54 UTC 2019


RFE:
  https://bugs.openjdk.java.net/browse/JDK-8222766

Fix:
  https://cr.openjdk.java.net/~shade/8222766/webrev.07/

I hope the comments in the new code are self-explanatory. This rewrite allows us to ditch
resolve_fwd_ptr and its awkward borrowing scheme. Since it is removing two of three fwdptr resolves,
it also considerably improves the generated code quality for CAS -- which is measurable on
microbenchmarks.

The AArch64 counterpart comes later in JDK-8232782.

Compare:
  https://cr.openjdk.java.net/~shade/8222766/shenandoah-cas-before.perfasm
  https://cr.openjdk.java.net/~shade/8222766/shenandoah-cas-after.perfasm

Testing: {x86_32, x86_64} hotspot_gc_shenandoah; jcstress runs

-- 
Thanks,
-Aleksey




More information about the hotspot-gc-dev mailing list