RFR: Handle old, pinned regions [v7]
William Kemper
wkemper at openjdk.org
Wed Aug 3 01:10:57 UTC 2022
> Prior to this change, mixed collections were entirely ignoring the pinned status of old regions. Pinned old regions would not be coalesced and filled (which could lead to a crash) and their pin status was not being synchronized with the pin count (which could also lead to a crash). To address these problems, the following changes have been made:
>
> * Before adding old regions to the collection set, their pinned status is synchronized.
> * Pinned old regions will _not_ be added to a mixed collection, they will be skipped and considered for inclusion in the next mixed collection.
> * Any old regions which have not been evacuated after the last mixed collection will be made parseable (coalesced and filled) _at the start of the next old marking cycle_.
William Kemper has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 21 commits:
- Merge branch 'shenandoah-master' into fill-old-pinned
- Do not drop abbreviated argument when recording success concurrent cycle
- Fix whitespace
- Prepare for review
- Merge branch 'shenandoah-master' into fill-old-pinned
- Validate old gen state transitions
- Make use of old generation without down casting
- Make verifier aware of changes to old generation state machine
- Make rset scan aware of changes to old generation state machine
- Fix use of index as count and over-counting of garbage
- ... and 11 more: https://git.openjdk.org/shenandoah/compare/60e43d04...bdda91d6
-------------
Changes: https://git.openjdk.org/shenandoah/pull/149/files
Webrev: https://webrevs.openjdk.org/?repo=shenandoah&pr=149&range=06
Stats: 1178 lines in 29 files changed: 741 ins; 274 del; 163 mod
Patch: https://git.openjdk.org/shenandoah/pull/149.diff
Fetch: git fetch https://git.openjdk.org/shenandoah pull/149/head:pull/149
PR: https://git.openjdk.org/shenandoah/pull/149
More information about the shenandoah-dev
mailing list