[aarch64-port-dev ] RFR(XS): 8211320: Aarch64: unsafe.compareAndSetByte() and unsafe.compareAndSetShort() c2 intrinsics broken with negative expected value

Stefan Anzinger stefan.anzinger at oracle.com
Wed Oct 24 16:45:07 UTC 2018

On 10/24/18 1:40 PM, Roland Westrelin wrote:
> http://cr.openjdk.java.net/~roland/8211320/webrev.02/
> A new webrev that includes Andrew Haley's patch from:
> http://mail.openjdk.java.net/pipermail/aarch64-port-dev/2018-October/006444.html
> Good to push?


I looked recently in this code and wondered, how the lse_cas works for
8, and 16 bit values. CAS It does a load with 32 or 64 bits and compares
these bits. The upper 16 or 24 bits may not be equal and the CAS will
always fail.
In short: lse_cas does not work on 8 and 16 bit values.
Please correct me if I am wrong.


More information about the hotspot-compiler-dev mailing list