RFR: Enable remembered set verification during global collections
William Kemper
wkemper at openjdk.java.net
Wed Sep 8 22:00:21 UTC 2021
On Wed, 8 Sep 2021 20:36:05 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:
>> There are two sets of changes here:
>> * Fixes to the verifier itself to enable remembered set verification during global collection
>> * Fixes to prevent the remembered set scan from parsing unmarked objects after a global collection
>>
>> These changes pass the dacapo suite with `-XX:+ShenandoahVerify` and pass the shenandoah tier1 tests.
>
> src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp line 1044:
>
>> 1042: void ShenandoahConcurrentGC::op_global_coalesce_and_fill() {
>> 1043: ShenandoahHeap* const heap = ShenandoahHeap::heap();
>> 1044: ShenandoahGlobalCoalesceAndFill coalesce;
>
> It looks like this is iterating over all old regions. Not clear to me how we avoid coalescing and filling the regions that are part of the collection set. I think our intent was to not coalesce-and-fill regions in the collection set.
The `ShenandoahGlobalCoalesceAndFill` closure only acts on old active, non-humongous regions.
-------------
PR: https://git.openjdk.java.net/shenandoah/pull/64
More information about the shenandoah-dev
mailing list