RFR: DRAFT: Add generations to freeset [v2]
Kelvin Nilsen
kdnilsen at openjdk.org
Wed Apr 12 03:05:20 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.
>
> As currently drafted, there are regressions represented by assertion failures and crashes. The purpose of publishing this draft PR is to allow careful scrutiny of the code.
Kelvin Nilsen has updated the pull request incrementally with one additional commit since the last revision:
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.
-------------
Changes:
- all: https://git.openjdk.org/shenandoah/pull/250/files
- new: https://git.openjdk.org/shenandoah/pull/250/files/c6122bf9..d991cd7c
Webrevs:
- full: https://webrevs.openjdk.org/?repo=shenandoah&pr=250&range=01
- incr: https://webrevs.openjdk.org/?repo=shenandoah&pr=250&range=00-01
Stats: 259 lines in 2 files changed: 194 ins; 9 del; 56 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