RFR: 8276801: gc/stress/CriticalNativeStress.java fails intermittently with Shenandoah [v2]
shade at openjdk.java.net
Wed Nov 10 07:58:38 UTC 2021
On Wed, 10 Nov 2021 02:11:00 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:
>> What about `register_nmethod`? I see it is called from `nmethod::nmethod` that itself does `assert_locked_or_safepoint(CodeCache_lock)`. Is that path guaranteed to always hold the `CodeCache_lock`?
> I changed assert in `nmethod::nmethod()` to `assert_lock_strong(CodeCache_lock)` and ran tier1, no failure.
> `nmethods` is installed by `CompilerThread` and `CompilerThread` is `JavaThread`, so I don't think it is possible to have `register_nmethod()` call at safepoints, because they have to participate in safepoints.
More information about the hotspot-gc-dev