On Thu, 18 Sep 2025 05:07:16 GMT, Leonid Mesnik <[email protected]> wrote:

>> src/hotspot/share/runtime/suspendResumeManager.cpp line 88:
>> 
>>> 86:   if (register_vthread_SR) {
>>> 87:     assert(_target->is_vthread_mounted(), "sanity check");
>>> 88:     assert(_target == JavaThread::current(), "should be current 
>>> thread");
>> 
>> So this assert should be outside the INCLUDE_JVMTI section - right?
>
> ough,
> yes, should be outside INCLUDE_JVMTI 
> However, I just can't understand how those methods could be called if JVMTI 
> is not included. Do we still have any mechanisms to suspend thread without 
> jvmti nowdays?

No we don't but we are left with a lot of historical code organization. JVMTI 
is the only client of the `JavaThread::java_suspend/java_resume` API but that 
code already existed independent of JVMTI. The current INCLUDE_JVMTI guards are 
what is needed to make a non-JVMTI configuration build. If we were so inclined 
we could push those guards right up to JavaThread and then exclude compiling 
files like `suspendResumeManager.cpp`.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/27317#discussion_r2357574737

Reply via email to