Condition code not set after CAS on aarch64
Andrew Haley
aph at redhat.com
Wed Nov 16 15:56:22 UTC 2016
On 16/11/16 14:04, Roman Kennke wrote:
> Am Freitag, den 28.10.2016, 13:35 +0200 schrieb Roland Westrelin:
>> http://cr.openjdk.java.net/~roland/shenandoah/aarch64-cas-cc/webrev.0
>> 0/
>>
>> Instructions that set the condition code got dropped...
>
> The condition code gets set in
> MacroAssembler::cmpxchg_oop_shenandoah() already. Setting it
> afterwards using cset might actually be harmful because I am not sure
> that the condition flags are correct.
>
> I'd revert the whole changeset:
> http://cr.openjdk.java.net/~roland/shenandoah/aarch64-cas-cc/webrev.00/
>
> Ok to revert?
No.
CSET doesn't set a condition code, it sets a register.
We need the register.
Andrew.
More information about the shenandoah-dev
mailing list