RFR: Enable remembered set verification during global collections [v3]

Kelvin Nilsen kdnilsen at openjdk.java.net
Thu Sep 9 20:34:43 UTC 2021


On Thu, 9 Sep 2021 17:29:49 GMT, William Kemper <wkemper 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.
>
> William Kemper has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 15 commits:
> 
>  - Merge branch 'shenandoah' into verify-rset-during-global-gc
>  - Simplify object iteration and respond to review feedback.
>  - Merge branch 'earthling-master' into verify-rset-during-global-gc
>  - Merge branch 'shenandoah' into verify-rset-during-global-gc
>  - Coalesce and fill old objects after final mark in a global collect
>  - Only verify first object on next card when last object spans cards
>  - Fix infinite loop scenario and invalid limit in verifier
>  - Use safe offset when card runs past region top
>  - Also use mark context when verifying rset at init mark for global collects
>  - Do not read past top of region when looking for last object in card
>  - ... and 5 more: https://git.openjdk.java.net/shenandoah/compare/ad15b6b5...7136de8c

Marked as reviewed by kdnilsen (Committer).

src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp line 2645:

> 2643:             obj_addr += obj->size();
> 2644:           } else {
> 2645:             // This object is not live so we don'top verify dirty cards contained therein

typo here in the comment.

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

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


More information about the shenandoah-dev mailing list