Integrated: Decouple generational heuristics
William Kemper
wkemper at openjdk.java.net
Tue Oct 5 16:26:32 UTC 2021
On Wed, 29 Sep 2021 19:19:17 GMT, William Kemper <wkemper at openjdk.org> wrote:
> ### Summary
> This commit is part of an effort to improve the performance of the old generation heuristic.
>
> * added `ShenandoahOldGCHeuristics` - choose the heuristic for old generation (adaptive is default, aggressive is not allowed, only used to trigger old marking, has no influence on cset selection for old generation).
> * added `ShenandoahOldGarbageThreshold` - The minimum percentage of garbage in old region to be included in old cset.
> * added `ShenandoahOldEvacReserve` - Percentage of old generation to withhold from old evacuation.
> * added `ShenandoahGuaranteedOldGCInterval` - Minimum time between old generation collection (default is 10 min).
> * refactored old generation heuristic class hierarchy to reduce code duplication
> * added more detail to log messages and formatted byte sizes for easier human readability
>
> ### Testing
> Passes tier3 shenandoah jtreg tests and Dacapo and Heapothesys on x86 and aarch64.
This pull request has now been integrated.
Changeset: 4d8ce22f
Author: William Kemper <wkemper at openjdk.org>
URL: https://git.openjdk.java.net/shenandoah/commit/4d8ce22f209f125a456cc757842f10a459822e60
Stats: 1239 lines in 29 files changed: 206 ins; 995 del; 38 mod
Decouple generational heuristics
Reviewed-by: kdnilsen
-------------
PR: https://git.openjdk.java.net/shenandoah/pull/76
More information about the shenandoah-dev
mailing list