RFR: Initial sizing refactor
William Kemper
wkemper at openjdk.org
Mon Dec 19 23:33:18 UTC 2022
On Fri, 16 Dec 2022 00:36:41 GMT, William Kemper <wkemper at openjdk.org> wrote:
> Some things to highlight here:
> * This change borrows a bit of code from G1 to handle processing of command line arguments used to size the young generation.
> * A (hard coded for now) threshold on the difference between young/old time has been added to reduce resizing churn.
> * The adaptive heuristic doesn't consider the `soft_tail` anymore. `available` is already adjusted for the soft max capacity.
> * `SoftMaxHeapSize` is used to compute the soft max size and max size for the young generation.
Converted this to a draft because the changes are tripping an assert:
# Internal Error (/codebuild/output/src797/src/s3/00/src/hotspot/share/gc/shenandoah/shenandoahHeapRegion.cpp:986), pid=1289, tid=1312
--
520 | # assert(regions * ShenandoahHeapRegion::region_size_bytes() <= heap->young_generation()->adjusted_capacity()) failed: Number of young regions cannot exceed adjusted capacity
Ready for review - the assertion noted earlier is unrelated to these changes and will be fixed under a separate PR.
-------------
PR: https://git.openjdk.org/shenandoah/pull/185
More information about the shenandoah-dev
mailing list