RFR: Add generations to freeset [v8]

Kelvin Nilsen kdnilsen at openjdk.org
Thu Apr 20 19:51:42 UTC 2023


On Thu, 20 Apr 2023 18:10:11 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> Kelvin Nilsen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 207 commits:
>> 
>>  - Merge remote-tracking branch 'origin' into add-generations-to-freeset
>>  - Respond to reviewer feedback
>>    
>>    Various improvements suggested by reviewers.  Mostly improved comments
>>    and some minor refactoring.
>>  - Add TODO comment for exapnsion of old-gen
>>  - Remove debug instrumentation
>>  - Merge master
>>  - Fix calculation of minimum fill size
>>    
>>    We were incorrectly using byte size rather than word size.
>>  - Fix error in ShenandoahFreeSet usage accounting
>>    
>>    We were incorrectly increasing used for plab padding.  That is
>>    old_collector memory and should not affect mutator usage.  This commit
>>    also includes some refactoring, additional assertions, and additional
>>    verification of consistent free-space accounting.
>>  - Fix typo in a comment
>>  - Fix white space
>>  - Merge remote-tracking branch 'GitFarmBranch/add-generations-to-freeset' into add-generations-to-freeset
>>  - ... and 197 more: https://git.openjdk.org/shenandoah/compare/016bf071...7319eeeb
>
> src/hotspot/share/gc/shenandoah/shenandoahFreeSet.cpp line 610:
> 
>> 608: 
>> 609: // If idx represents a collector bound, recompute the collector bounds, returning true iff bounds were adjusted.
>> 610: bool ShenandoahFreeSet::adjust_collector_bounds_if_touched(size_t idx) {
> 
> This really feels like there should be a `RegionFreeSet` class with instances for `mutator`, `collector`, and `old_collector`. There's a lot of code duplication here. A refactoring for another PR.

Agree that refactoring would be nice in the future.

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

PR Review Comment: https://git.openjdk.org/shenandoah/pull/250#discussion_r1173023274


More information about the shenandoah-dev mailing list