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