RFR: 8311843: GenShen: assertion failed "Old generation affiliated regions must be less than capacity"

William Kemper wkemper at openjdk.org
Fri Aug 25 17:53:22 UTC 2023


There are a few fixes here:

During a Full GC, the compaction process is not constrained by the maximum capacity for young and old generations. We must, therefore, reestablish these constraints after the Full GC completes by _forcing_ the transfer of regions to old, if necessary.

When a region is "flipped" from the Mutator's free set to the Collector's, we cannot _force_ the transfer of the region because the young generation may not have any free regions.

A logic error in the loop which rebuilds the free set could prevent transferring free regions from the mutator to the collector reserves.

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

Commit messages:
 - Do not prematurely exit when reserving regions
 - 8314610: hotspot can't compile with the latest of gtest because of <iomanip>
 - Force transfer of old regions to old generation capacity after full GC
 - Remove vestigial member and methods

Changes: https://git.openjdk.org/shenandoah/pull/311/files
 Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=311&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8311843
  Stats: 93 lines in 7 files changed: 27 ins; 46 del; 20 mod
  Patch: https://git.openjdk.org/shenandoah/pull/311.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/311/head:pull/311

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


More information about the shenandoah-dev mailing list