Integrated: Degenerate to marking phase if cancellation detected after final mark
William Kemper
wkemper at openjdk.java.net
Thu Jan 27 18:27:05 UTC 2022
On Thu, 27 Jan 2022 16:52:52 GMT, William Kemper <wkemper at openjdk.org> wrote:
> 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.
This pull request has now been integrated.
Changeset: 7d0a45c3
Author: William Kemper <wkemper at openjdk.org>
URL: https://git.openjdk.java.net/shenandoah/commit/7d0a45c3fb58db5be86a52feb320a62af69e3cb5
Stats: 2 lines in 1 file changed: 2 ins; 0 del; 0 mod
Degenerate to marking phase if cancellation detected after final mark
Reviewed-by: rkennke
-------------
PR: https://git.openjdk.java.net/shenandoah/pull/105
More information about the shenandoah-dev
mailing list