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