RFR: Improve handling of cancellation after final mark

Kelvin Nilsen kdnilsen at openjdk.java.net
Thu Feb 3 23:23:42 UTC 2022


On Thu, 3 Feb 2022 22:42:34 GMT, William Kemper <wkemper at openjdk.org> wrote:

> Handle case when gc is cancelled _after_ final mark but _before_ the control thread checks for cancellation. If final mark completes before the cancellation is detected, we can no longer degenerate to the marking phase.

I think this needs a comment to explain how it works.  I'm also confused by the original code, but we don't really need to describe that if we are replacing it.  Would like a comment to clarify how concurrent_mark_in_progress() is still true after we're back from vmop_entry_final_mark(), and then how we assure that the condition that we want has not changed before we check_cancellation_and_abort().

-------------

PR: https://git.openjdk.java.net/shenandoah/pull/109


More information about the shenandoah-dev mailing list