RFR: Allow old collections to span degenerated young collections
William Kemper
wkemper at openjdk.java.net
Wed Mar 16 18:18:07 UTC 2022
Prior to this change, a degenerated young cycle would cause an old collection effort to be abandoned.
Summary of changes:
* Resetting state of old GC during cancellation has been consolidated
* When old marking is in progress, SATB queues are serviced during init mark of concurrent cycles (bug fix)
* Old GC cannot be interrupted between end of final mark and final roots (bug fix)
-------------
Commit messages:
- Merge branch 'shenandoah' into young-degen-during-old-mark
- Revert "Mutator may fail to evacuate"
- Old generation collection does not use degeneration point
- Change misleading method name
- Purge SATB when degenerated cycle begins from outside of concurrent cycle
- Allow degenerated bootstrap cycles and cancel old gc for concurrent global cycles
- Only transfer old SATB pointers at start of init mark
- Only cancel old gc for full GC in generational mode
- Manage satb buffers at start of degenerated cycle
- Do not interrupt old GC before clearing weak roots
- ... and 15 more: https://git.openjdk.java.net/shenandoah/compare/98b21327...0cd5ecdf
Changes: https://git.openjdk.java.net/shenandoah/pull/124/files
Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=124&range=00
Stats: 194 lines in 16 files changed: 95 ins; 55 del; 44 mod
Patch: https://git.openjdk.java.net/shenandoah/pull/124.diff
Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/124/head:pull/124
PR: https://git.openjdk.java.net/shenandoah/pull/124
More information about the shenandoah-dev
mailing list