RFR: Initial sizing refactor
Y. Srinivas Ramakrishna
ysr at openjdk.org
Tue Dec 20 00:54:22 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.
src/hotspot/share/gc/shenandoah/shenandoahGeneration.cpp line 995:
> 993: shenandoah_assert_heaplocked_or_safepoint();
> 994: #ifdef ASSERT
> 995: if (generation_mode() == YOUNG) {
Why the special treatment of young here and in the next method? Is that the only one where max capacity matters?
I might have expected an assertion oblivious of youth of a generation, which would simpy check upon an increment or a decrement that the floor and ceiling (min and max) capacities of that generation were being respected, irrespective of whether it was a young or old generation?
-------------
PR: https://git.openjdk.org/shenandoah/pull/185
More information about the shenandoah-dev
mailing list