From f5249db9c566f87f7fc4f3ed70114a8168babd8b Mon Sep 17 00:00:00 2001 From: Serguei Spitsyn Date: Tue, 23 Dec 2025 22:21:58 +0000 Subject: [PATCH] 8374233: Overloaded constructor MountUnmountDisabler(jthread thread) is missed Reviewed-by: cjplummer, amenkov --- src/hotspot/share/runtime/mountUnmountDisabler.cpp | 8 ++++++++ src/hotspot/share/runtime/mountUnmountDisabler.hpp | 1 + 2 files changed, 9 insertions(+) diff --git a/src/hotspot/share/runtime/mountUnmountDisabler.cpp b/src/hotspot/share/runtime/mountUnmountDisabler.cpp index 261bbfb9c18..8635eeb2dcc 100644 --- a/src/hotspot/share/runtime/mountUnmountDisabler.cpp +++ b/src/hotspot/share/runtime/mountUnmountDisabler.cpp @@ -28,6 +28,7 @@ #include "prims/jvmtiThreadState.inline.hpp" #include "runtime/handles.inline.hpp" #include "runtime/javaThread.hpp" +#include "runtime/jniHandles.hpp" #include "runtime/mountUnmountDisabler.hpp" #include "runtime/threadSMR.hpp" @@ -193,6 +194,13 @@ void MountUnmountDisabler::end_transition(JavaThread* current, oop vthread, bool } } +// disable transitions for one virtual thread +// disable transitions for all threads if thread is nullptr or a platform thread +MountUnmountDisabler::MountUnmountDisabler(jthread thread) + : MountUnmountDisabler(JNIHandles::resolve_external_guard(thread)) +{ +} + // disable transitions for one virtual thread // disable transitions for all threads if thread is nullptr or a platform thread MountUnmountDisabler::MountUnmountDisabler(oop thread_oop) diff --git a/src/hotspot/share/runtime/mountUnmountDisabler.hpp b/src/hotspot/share/runtime/mountUnmountDisabler.hpp index 2ebb09734a6..4c9b6124b46 100644 --- a/src/hotspot/share/runtime/mountUnmountDisabler.hpp +++ b/src/hotspot/share/runtime/mountUnmountDisabler.hpp @@ -58,6 +58,7 @@ class MountUnmountDisabler : public AnyObj { public: MountUnmountDisabler(bool exlusive = false); MountUnmountDisabler(oop thread_oop); + MountUnmountDisabler(jthread thread); ~MountUnmountDisabler(); static int global_vthread_transition_disable_count();