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

Kelvin Nilsen kdnilsen at openjdk.org
Fri Sep 1 17:19:47 UTC 2023


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.

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

Commit messages:
 - Fix whitespace
 - Remove instrumentation
 - Keep promo budget at zero during GLOBAL GC
 - Let choose_collection_set() for GLOBAL gc expand old on demand

Changes: https://git.openjdk.org/shenandoah/pull/318/files
 Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=318&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8315479
  Stats: 81 lines in 2 files changed: 66 ins; 3 del; 12 mod
  Patch: https://git.openjdk.org/shenandoah/pull/318.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/318/head:pull/318

PR: https://git.openjdk.org/shenandoah/pull/318


More information about the shenandoah-dev mailing list