RFR: Degenerate to marking phase if cancellation detected after final mark
William Kemper
wkemper at openjdk.java.net
Thu Jan 27 16:58:36 UTC 2022
If an allocation failure occurs between the end of concurrent mark and the start of final mark, then the degenerate cycle resumes from the 'outside of cycle' degenerated point. For other modes, this is merely a performance problem (as described in [JDK-8261093](https://bugs.openjdk.java.net/browse/JDK-8261093)). For the generational mode, this is a correctness problem because the degenerated cycle will swap the remembered set cards again. Because the concurrent marking was incomplete, this could lose information about which cards should be dirty during the degenerated (re) mark.
-------------
Commit messages:
- Degenerate to marking phase if cancellation detected after final mark
Changes: https://git.openjdk.java.net/shenandoah/pull/105/files
Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=105&range=00
Stats: 2 lines in 1 file changed: 2 ins; 0 del; 0 mod
Patch: https://git.openjdk.java.net/shenandoah/pull/105.diff
Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/105/head:pull/105
PR: https://git.openjdk.java.net/shenandoah/pull/105
More information about the shenandoah-dev
mailing list