diff --git a/src/hotspot/share/gc/z/zNMethod.cpp b/src/hotspot/share/gc/z/zNMethod.cpp index 9ef01250727..64b28bc7871 100644 --- a/src/hotspot/share/gc/z/zNMethod.cpp +++ b/src/hotspot/share/gc/z/zNMethod.cpp @@ -294,13 +294,14 @@ public: return; } - ZLocker locker(ZNMethod::lock_for_nmethod(nm)); - if (nm->is_unloading()) { + ZLocker locker(ZNMethod::lock_for_nmethod(nm)); unlink(nm); return; } + ZLocker locker(ZNMethod::lock_for_nmethod(nm)); + // Heal oops and disarm ZNMethodOopClosure cl; ZNMethod::nmethod_oops_do(nm, &cl);