RFR (sh/11): Revert aarch64 LIRGenerator::atomic_cmpxchg()

Roman Kennke rkennke at redhat.com
Tue Aug 20 20:34:21 UTC 2019


There's a left-over from earlier impls of cas-obj in aarch64:

https://builds.shipilev.net/patch-openjdk-shenandoah-jdk11-only-shared/src/hotspot/cpu/aarch64/c1_LIRGenerator_aarch64.cpp.udiff.html

This is in-fact a bug (perhaps a subtle one) for all non-Shenandoah GCs.
The result reg passed into cas_obj() is not actually used by the
backend. The backend stores state in r8/rscratch1 instead (see casl/casw
in c1_LIRAssembler_aarch64.cpp), which is then ignored by the impl that
we have. Let's revert it:

http://cr.openjdk.java.net/~rkennke/aarch64-c1-cas-revert/webrev.00/

Testing: hotspot_gc_shenandoah (aarch64)

Ok?

Roman



More information about the shenandoah-dev mailing list