Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JDK-8315479: GenShen: Expand old-gen while selecting collection set during GLOBAL GC #318

Closed
Closed
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -94,8 +94,8 @@ void ShenandoahGlobalHeuristics::choose_global_collection_set(ShenandoahCollecti
// Figure out how many unaffiliated young regions are dedicated to mutator and to evacuator. Allow the young
// collector's unaffiliated regions to be transferred to old-gen if old-gen has more easily reclaimed garbage
// than young-gen. At the end of this cycle, any excess regions remaining in old-gen will be transferred back
// to young. Do not transfer the mutator's unaffiliated regions to transfer to old-gen. Those most remain
// available to the mutator as it needs to be able to consume this memory during the concurrent GC time.
// to young. Do not transfer the mutator's unaffiliated regions to old-gen. Those must remain available
// to the mutator as it needs to be able to consume this memory during concurrent GC.

size_t unaffiliated_young_regions = heap->young_generation()->free_unaffiliated_regions();
size_t unaffiliated_young_memory = unaffiliated_young_regions * region_size_bytes;
@@ -107,7 +107,7 @@ void ShenandoahGlobalHeuristics::choose_global_collection_set(ShenandoahCollecti
unaffiliated_young_memory = unaffiliated_young_regions * region_size_bytes;
}

// We'll affiliated these unaffiliated regions with either old or young, depending on need.
// We'll affiliate these unaffiliated regions with either old or young, depending on need.
max_young_cset -= unaffiliated_young_memory;

// Keep track of how many regions we plan to transfer from young to old.