RFR: JDK-8297796 GenShen: instrument the remembered set scan [v12]
Y. Srinivas Ramakrishna
ysr at openjdk.org
Mon Dec 19 23:59:15 UTC 2022
On Mon, 19 Dec 2022 23:46:19 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> Y. Srinivas Ramakrishna has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 65 commits:
>>
>> - Merge branch 'master' into JVM-1264-dependent
>> - Add a previously missed ticket#. Doing it here rather than in parent to
>> avoid an otherwise unnecessary re-review touchpoint.
>> - Merge branch 'stats_merge' into JVM-1264-dependent
>> - Merge branch 'master' into stats_merge
>> - jcheck space fix
>> - Fix compiler error on windows.
>> - Fix some tier1 tests.
>> - Remove an unnecessary include, fix some type incorrectness.
>> - Merge branch 'JVM-1264' into JVM-1264-dependent
>> - Merge branch 'master' into JVM-1264
>> - ... and 55 more: https://git.openjdk.org/shenandoah/compare/bbd4ef34...9c5c741f
>
> src/hotspot/share/gc/shenandoah/shenandoahCardStats.hpp line 61:
>
>> 59: _cards_in_cluster(cards_in_cluster),
>> 60: _local_card_stats(card_stats),
>> 61: _last_dirty(false),
>
> Should it always be the case that `_last_dirty != _last_clean`? Could we use one variable here instead of two?
I believe we switch into one of two modes based on the first card we encounter. So there are 3 states: an initial (neither), and then subsequently either dirty or clean. So there are 3 states, which is 2 bits. It's possible I could shrink it to 2 bits by some cleverness, but figured I wouldn't try too hard as this is still all non-product. I'll think some more about it.
-------------
PR: https://git.openjdk.org/shenandoah/pull/176
More information about the shenandoah-dev
mailing list