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

Y. Srinivas Ramakrishna ysr at openjdk.org
Wed Jun 14 21:11:37 UTC 2023


On Wed, 14 Jun 2023 20:30:03 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.

Is this a performance improvement, or does not fixing this lead to buggy behaviour?

It sounded like in the case where the collection set isn't empty the nmethod barriers are disarmed as a consequence of some actions that would be skipped when the collection set is empty, thus leaving the nmethod barriers armed past that point? Could you point out the paths where the disarming happens in that case, and add it as a comment perhaps in the `arm` and `disarm` methods, so that this protocol is clearly documented?

Thanks!

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

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


More information about the shenandoah-dev mailing list