RFR: 8313574: GenShen: Completing a global mark should also complete an old mark [v3]
William Kemper
wkemper at openjdk.org
Tue Aug 15 22:11:20 UTC 2023
> The mark context is shared, but each generation maintains a separate flag (`ShenandoahGeneration::_is_marking_complete`) to record the status of the mark. The remembered set scan will use the mark bitmap only if the old generation mark is complete. Otherwise, it walks the old regions and requires them to be parseable.
>
> Presently, we make the heap parseable after global marking finishes, but this work can be deferred to the start of an old mark if we had global mark record completion of old marking.
William Kemper has updated the pull request incrementally with two additional commits since the last revision:
- Cleanup duplicate methods to return number of coalesce and fill candidates
- Restore assertion about which states old generation is allowed to be in when a global cycle degenerates
-------------
Changes:
- all: https://git.openjdk.org/shenandoah/pull/304/files
- new: https://git.openjdk.org/shenandoah/pull/304/files/2bf50f3f..3351329d
Webrevs:
- full: https://webrevs.openjdk.org/?repo=shenandoah&pr=304&range=02
- incr: https://webrevs.openjdk.org/?repo=shenandoah&pr=304&range=01-02
Stats: 68 lines in 7 files changed: 22 ins; 8 del; 38 mod
Patch: https://git.openjdk.org/shenandoah/pull/304.diff
Fetch: git fetch https://git.openjdk.org/shenandoah.git pull/304/head:pull/304
PR: https://git.openjdk.org/shenandoah/pull/304
More information about the shenandoah-dev
mailing list