8374233: Overloaded constructor MountUnmountDisabler(jthread thread) is missed

Reviewed-by: amenkov, cjplummer, lmesnik
Backport-of: f5249db9c566f87f7fc4f3ed70114a8168babd8b
This commit is contained in:
Serguei Spitsyn 2025-12-25 23:56:23 +00:00
parent 535e8bea1a
commit 646037dd92
2 changed files with 9 additions and 0 deletions

View File

@ -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)

View File

@ -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();