RFR: JDK-8222129: Shenandoah: Missing CompareAndSwapP/N case in get_barrier_strength()

Aleksey Shipilev shade at redhat.com
Mon Apr 8 16:00:41 UTC 2019


On 4/8/19 5:55 PM, Roman Kennke wrote:
> Am Montag, den 08.04.2019, 17:54 +0200 schrieb Aleksey Shipilev:
>> On 4/8/19 5:50 PM, Roman Kennke wrote:
>>>  Missing case CompareAndSwapN/P in get_barrier_strength() trips as
>>> assert in shenadoahSupport.cpp.
>>>
>>> Bug:
>>> https://bugs.openjdk.java.net/browse/JDK-8222129
>>> Webrev:
>>> http://cr.openjdk.java.net/~rkennke/JDK-8222129/webrev.00/
>>
>> Case labels should be closer to other CompareAndSwaps, I think?
> 
> Dunno. I put them closer to other non-Shenandoah* cases ;-)

Yes, so Op_CompareAndSwap{L,I,B,S} _are_ those non-Shenandoah CAS cases ;)

>> 3132       case Op_CompareAndSwapL:
>> 3133       case Op_CompareAndSwapI:
>> 3134       case Op_CompareAndSwapB:
>> 3135       case Op_CompareAndSwapS:
>>                                    // should be here?
>> 3136       case Op_ShenandoahCompareAndSwapN:
>> 3137       case Op_ShenandoahCompareAndSwapP:
>> 3138       case Op_ShenandoahWeakCompareAndSwapN:
>> 3139       case Op_ShenandoahWeakCompareAndSwapP:
>> 3140       case Op_ShenandoahCompareAndExchangeN:
>> 3141       case Op_ShenandoahCompareAndExchangeP:
>> 3142       case Op_CompareAndSwapN:  // they are here
>> 3143       case Op_CompareAndSwapP:

...

>> CompareAndExchangeP/N are not affected by this?

Right?

-Aleksey



More information about the shenandoah-dev mailing list