Integrated: 8376756: GenShen: Improve encapsulation of generational collection set choosing
William Kemper
wkemper at openjdk.org
Wed Feb 4 19:36:16 UTC 2026
On Thu, 29 Jan 2026 23:43:31 GMT, William Kemper <wkemper at openjdk.org> wrote:
> Choosing the collection set for Shenandoah's generational mode is somewhat more complicated than the non-generational modes. The logic is spread out in unnatural places which compounds the complexity. This change was spun off from https://github.com/openjdk/jdk/pull/27632. There is more to come, but I'm breaking the changes up over several PRs to facilitate reviewing.
>
> Description of changes:
>
> The methods:
> * `ShGeneration::compute_evacuation_budgets`
> * `ShGeneration::select_aged_regions`
> * `ShGeneration::adjust_evacuation-budgets`
>
> Were all moved into `ShGenerationalHeuristics`. The signature of `ShHeuritics::choose_collection_set` is restored to return `void` instead of returning a `size_t` which represents the number of old regions to be added to top off the collection set. The one heuristic that returned a non-zero value for this (`ShYoungHeuristics`) now carries it in a member variable.
>
> Redundant keyword modifiers have been removed from the headers touched here.
This pull request has now been integrated.
Changeset: 949370ab
Author: William Kemper <wkemper at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/949370ab0e701cfcc68cb84dd0f91e5db41f4f45
Stats: 1234 lines in 22 files changed: 574 ins; 573 del; 87 mod
8376756: GenShen: Improve encapsulation of generational collection set choosing
Reviewed-by: shade, kdnilsen
-------------
PR: https://git.openjdk.org/jdk/pull/29496
More information about the shenandoah-dev
mailing list