RFR: 8275056: Virtualize G1CardSet containers over heap region [v8]

Thomas Schatzl tschatzl at openjdk.java.net
Mon Nov 15 09:19:10 UTC 2021


On Sun, 14 Nov 2021 22:47:51 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:

>> Thomas Schatzl has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains eight commits:
>> 
>>  - Merge branch 'master' into 8275056-virtualize-g1cardset-containers2
>>  - ayang review1
>>  - Limit ergonomics to 32m regions
>>  - sjohanss review
>>  - Fix assert after merge - the assert depends on current heap region configuration, so move it to the correct constructor
>>  - Merge branch 'master' into 8275056-virtualize-g1cardset-containers2
>>  - 32 bit compatibility - limit region size to 32M there as before. Fix test.
>>  - Virtual heap regions in remembered sets
>
> src/hotspot/share/gc/g1/g1CardSet.cpp line 67:
> 
>> 65:                          default_log2_card_region_per_region())                     /* log2_card_region_per_region */
>> 66: {
>> 67:   assert((_log2_card_region_per_heap_region + _log2_card_region_size) == (uint)HeapRegion::LogCardsPerRegion,
> 
> I suggest `_log2_card_region_size -> _log2_cards_per_card_region`; then the assertion becomes more consistent, IMO.
> `assert((_log2_card_region_per_heap_region + _log2_cards_per_card_region) == (uint)HeapRegion::LogCardsPerRegion)`, which, in math form, is
> `(card_region / heap_region) x (cards / card_region) == cards / (heap_)region`

Implemented. I'll push in around 7-8 hours unless somebody objects.

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

PR: https://git.openjdk.java.net/jdk/pull/6059


More information about the hotspot-gc-dev mailing list