From 5ec5a6ea6c8e887b4e21f81e382f57129bffbab8 Mon Sep 17 00:00:00 2001 From: Ben Taylor Date: Thu, 4 Dec 2025 21:37:09 +0000 Subject: [PATCH] 8373054: Shenandoah: Remove unnecessary BarrierSetNMethod::arm in shenandoahCodeRoots Reviewed-by: wkemper, ysr, shade --- src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp index ec39e0c0ccb..07d339eb32e 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahCodeRoots.cpp @@ -144,13 +144,12 @@ public: { ShenandoahReentrantLocker locker(nm_data->lock()); - // Heal oops and disarm + // Heal oops if (_bs->is_armed(nm)) { ShenandoahEvacOOMScope oom_evac_scope; ShenandoahNMethod::heal_nmethod_metadata(nm_data); - // Code cache unloading needs to know about on-stack nmethods. Arm the nmethods to get - // mark_as_maybe_on_stack() callbacks when they are used again. - _bs->arm(nm); + // Must remain armed to complete remaining work in nmethod entry barrier + assert(_bs->is_armed(nm), "Should remain armed"); } }