RFR: 8309874: NMethod barriers may remain armed when regions are promoted in place [v2]

William Kemper wkemper at openjdk.org
Wed Jun 14 23:52:30 UTC 2023


On Wed, 14 Jun 2023 23:16:43 GMT, William Kemper <wkemper at openjdk.org> wrote:

>> Genshen runs in-place promotions during the evacuation phase. If the cycle is _only_ performing in-place promotions, it should not arm NMethod barriers. The barriers are now only armed and disarmed if the collection set is not empty.
>
> William Kemper has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Describe nmethod barrier arming/disarming protocol in comments

I don't fully understand why the assertion was removed to begin with. I'd start by just putting it back and see what breaks. The assertion was removed here: https://github.com/openjdk/jdk/commit/054c23f484522881a0879176383d970a8de41201#diff-e423b3b9d082ac2fc682916a54e557d09e89be5524e461ecf87cda1af8c1f2a6L171. It basically asserted that nmethod barriers were armed during concurrent mark, or concurrent evacuation, or if the gc was cancelled. I'll experiment with restoring the assert on tip.

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

PR Comment: https://git.openjdk.org/shenandoah/pull/286#issuecomment-1592134508


More information about the shenandoah-dev mailing list