RFR: Clean up CondCardMark code: remove excess barriers, enable it by default [v2]

earthling-amzn github.com+71722661+earthling-amzn at openjdk.java.net
Thu Apr 1 00:14:35 UTC 2021


On Wed, 31 Mar 2021 23:54:27 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

>> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   More cleanups of scanned_concurrently
>
> src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp line 393:
> 
>> 391:   if (UseCondCardMark) {
>> 392:     Label L_already_dirty;
>> 393:     __ membar(Assembler::StoreLoad);
> 
> I believe this StoreStore barrier is for preventing race against concurrent refinement. Question is that, generational Shenandoah going to implement concurrent refinement in the future?

We plan to start work on concurrent remembered set scanning very soon. I'm not far enough into it yet to know if we'll need these barriers, but it looks like we might.

-------------

PR: https://git.openjdk.java.net/shenandoah/pull/26


More information about the shenandoah-dev mailing list