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