RFR: JDK-8315479: GenShen: Expand old-gen while selecting collection set during GLOBAL GC [v3]

William Kemper wkemper at openjdk.org
Wed Sep 6 15:47:39 UTC 2023


On Wed, 6 Sep 2023 15:41:07 GMT, Kelvin Nilsen <kdnilsen at openjdk.org> wrote:

>> With GenShen, the size of old generation is as small as possible in order to maximize memory available to young gen.  This generally allows less frequent (and therefore more efficient) young-gen collections.
>> 
>> Under normal operation (concurrent marking of old followed by a series of mixed evacuations), old-gen is expanded at the end of a previous GC cycle in order to accommodate evacuation of mixed-evacuation candidates.
>> 
>> However, when we do a GLOBAL collection, we need to expand OLD gen during the selection of the collection set, depending on how many old-gen regions are selected to be evacuated during the GC evacuation phase.  This PR makes the change.
>
> Kelvin Nilsen has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - More typos in comments
>  - Fix typos in comment

src/hotspot/share/gc/shenandoah/heuristics/shenandoahGlobalHeuristics.cpp line 146:

> 144:       }
> 145:     } else {
> 146:       assert(r->is_young() && (r->age() < tenuring_threshold), "DeMorgan\'s law");

Not quite DeMorgan's law because `r` could be unaffiliated (it isn't _supposed_ to be, of course). Does the straight quote needs to be escaped?

-------------

PR Review Comment: https://git.openjdk.org/shenandoah/pull/318#discussion_r1317491456


More information about the shenandoah-dev mailing list