RFR: DRAFT: Add generations to freeset

Kelvin Nilsen kdnilsen at openjdk.org
Sun Apr 9 23:54:10 UTC 2023


ShenandoahFreeSet has not yet been modified to deal efficiently with the combination of old-gen and young-gen collection set reserves.  This PR makes changes so that we can distinguish between collector_is_free, old_collector_is_free, and mutator_is_free.  Further, it endeavors to keep each set of free regions tightly packed, so the range of regions representing each set is small.

As currently drafted, there are regressions represented by assertion failures and crashes.  The purpose of publishing this draft PR is to allow careful scrutiny of the code.

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

Commit messages:
 - Fix typo in a comment
 - Fix white space
 - Merge remote-tracking branch 'GitFarmBranch/add-generations-to-freeset' into add-generations-to-freeset
 - Fixup assertions re: is_old_collector_free
 - Register fill object when retiring old regions
 - 8305202: Fix Copyright Header in ZonedDateTimeFormatterBenchmark
 - 8304976: Optimize DateTimeFormatterBuilder.ZoneTextPrinterParser.getTree()
 - 8303392: Runtime.exec and ProcessBuilder.start should use System logger
 - 8302814: Delete unused CountLoopEnd instruct with CmpX
 - 8304759: Add BitMap iterators
 - ... and 190 more: https://git.openjdk.org/shenandoah/compare/d6df935b...c6122bf9

Changes: https://git.openjdk.org/shenandoah/pull/250/files
 Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=250&range=00
  Stats: 547 lines in 9 files changed: 477 ins; 11 del; 59 mod
  Patch: https://git.openjdk.org/shenandoah/pull/250.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/250/head:pull/250

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


More information about the shenandoah-dev mailing list