RFR: JDK-8221751: Shenandoah: Improve SATB enqueueing

Roman Kennke rkennke at redhat.com
Tue Apr 2 15:41:53 UTC 2019


>> http://cr.openjdk.java.net/~rkennke/JDK-8221751/webrev.02/
>>
>> Testing: Passes hotspot_gc_shenandoah both x86 and aarch64
>>
>> Ok?
> 
>    54       __ cmp(count, zr);
>    55       __ br(Assembler::EQ, done);
> 
> should be
> 
>    cbz(count, done);
> 
> and this
> 
>    60       __ mov(rscratch2, ShenandoahHeap::MARKING);
>    61       __ tst(rscratch1, rscratch2);
>    62       __ br(Assembler::EQ, done);
> 
> should be
> 
>    62       __ tbz(rscratch1, ShenandoahHeap::MARKING_BITPOS, done);
> 

Very nice!

http://cr.openjdk.java.net/~rkennke/JDK-8221751/webrev.03/

Is there also a short version of this check:

__ mov(rscratch2, ShenandoahHeap::MARKING | ShenandoahHeap::TRAVERSAL);
__ tst(rscratch1, rscratch2);
__ br(Assembler::EQ, done);

because I need this too in a couple of places.

Roman



More information about the hotspot-gc-dev mailing list