RFR: Add generations to freeset [v19]

Kelvin Nilsen kdnilsen at openjdk.org
Fri Apr 28 15:13:54 UTC 2023


> ShenandoahFreeSet has not yet been modified to deal efficiently with the combination of old-gen and young-gen collection set reserves.  This PR makes changes so that we can distinguish between collector_is_free, old_collector_is_free, and mutator_is_free.  Further, it endeavors to keep each set of free regions tightly packed, so the range of regions representing each set is small.
> 
> In its current form, this no longer fails existing regression tests (except for known problems that are being addressed independently)

Kelvin Nilsen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 218 commits:

 - Merge remote-tracking branch 'origin' into add-generations-to-freeset
 - Be less aggressive with assert_heaplocked
 - Several bug fixes in ShenandoahFreeSet implementation
 - Fix typo
 - Remove redundant management of tams in allocate_contiguous
 - Some bug fixes and comment improvements
   
   Tidy up and debug recently completed refactoring of ShenandoahFreeSet.
 - Fix an assert problem with initial clearing of freeset
 - Fix whitespace
 - Refactor free-set implementation to reduce duplication of code
   
   In the process, add accounting for first- and left-most empty regions
   within each free-set.
 - Add TODO comment for work on recompute_bounds
 - ... and 208 more: https://git.openjdk.org/shenandoah/compare/b442302c...9a6c7c25

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

Changes: https://git.openjdk.org/shenandoah/pull/250/files
 Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=250&range=18
  Stats: 987 lines in 8 files changed: 719 ins; 114 del; 154 mod
  Patch: https://git.openjdk.org/shenandoah/pull/250.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/250/head:pull/250

PR: https://git.openjdk.org/shenandoah/pull/250


More information about the shenandoah-dev mailing list