RFR: DRAFT: Expand old on demand [v23]
Kelvin Nilsen
kdnilsen at openjdk.org
Tue Apr 25 18:31:53 UTC 2023
> This PR describes several proposed changes to dynamically adjust the sizes of old-gen and young-gen. In general, the objective is to keep old-gen as small as possible so that there is an abundance of memory available for the young-gen allocation runway.
>
> As currently drafted, there are regression failures. This DRAFT PR is published for the purpose of facilitating a careful code review.
Kelvin Nilsen has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 100 commits:
- Merge remote-tracking branch 'origin' into expand-old-on-demand
- More fixes to verification of deferred generation accounting
During promote in place, certain regions are re-affiilated old before the
total amounts of memory consumed by these regions have been tallied into
the respective region's totals.
- Fix assert to use <= insted of <
- Make verifier adjust for deferred accounting of humongous waste
- Disable certain assertions for global generation
This is a temporary fix. After global generation correctly accounts for
affiliated regions, we can enable these assertions anew.
- Minor comment fixups following merge
- Merge remote-tracking branch 'origin' into expand-old-on-demand
- Do not call min_threshold unless generation is not old
Following the merge, min_threshold() asserts generation is not old.
min_threshold() is not relevant to old-generation GC triggers.
- Merge remote-tracking branch 'origin' into expand-old-on-demand
- Fix whitespace errors
- ... and 90 more: https://git.openjdk.org/shenandoah/compare/64d14f3b...fa771162
-------------
Changes: https://git.openjdk.org/shenandoah/pull/248/files
Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=248&range=22
Stats: 3253 lines in 35 files changed: 1830 ins; 885 del; 538 mod
Patch: https://git.openjdk.org/shenandoah/pull/248.diff
Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/248/head:pull/248
PR: https://git.openjdk.org/shenandoah/pull/248
More information about the shenandoah-dev
mailing list