RFR: 8331609: GenShen: Refactor generational mode allocations

William Kemper wkemper at openjdk.org
Thu May 2 23:26:17 UTC 2024


* The code for resizing and retrying young allocation requests according to what's available in the young generation has been removed. This code became redundant after the free set was rewritten and began providing the same functionality.
* An unused field and its attendant methods were removed from `ShenandoahThreadLocalData`.
* The code for managing `plab` expenditures and configuring other plab behavior has been moved from `ShenandoahHeap` into `ShenandoahOldGeneration`.

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

Commit messages:
 - Whitespace fixes
 - Refactor for clarity, add a unit-ish test
 - Move code out of shHeap into shOldGeneration
 - Factor out code to test if plab allocation is possible
 - Return early from plab allocation if old generation is exhausted
 - Simplify and document promotion reserve handling
 - Begin to clean up and isolate generational allocation path

Changes: https://git.openjdk.org/shenandoah/pull/427/files
  Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=427&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8331609
  Stats: 495 lines in 7 files changed: 266 ins; 175 del; 54 mod
  Patch: https://git.openjdk.org/shenandoah/pull/427.diff
  Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/427/head:pull/427

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


More information about the shenandoah-dev mailing list