On Tue, 22 Jul 2025 05:47:37 GMT, David Holmes <dhol...@openjdk.org> wrote:

>> The `cv_internal_thread_to_JavaThread` method will now check if the thread 
>> is a mounted virtual thread, and if so protect the carrier thread. User's of 
>> the API that need to deal with virtual threads must still check the carrier 
>> themselves as it could change asynchronously, but it is now guaranteed that 
>> the carrier JavaThread returned via this method cannot terminate whilst 
>> being used (the same as regular platform JavaThreads).
>> 
>> It was noticed whilst updating the documentation that the `JvmtiExport` 
>> variant `cv_oop_to_JavaThread` is unused and so can be removed.
>> 
>> Testing:
>> - tiers 1-4
>> 
>> Thanks
>
> David Holmes has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Move comment

Thumbs up on the changes. I think I only have a few nits.

src/hotspot/share/prims/jvmtiExport.cpp line 871:

> 869: //
> 870: jvmtiError
> 871: JvmtiExport::cv_oop_to_JavaThread(ThreadsList * t_list, oop thread_oop,

When did `JvmtiExport::cv_oop_to_JavaThread` become unused?

src/hotspot/share/runtime/threadSMR.cpp line 833:

> 831:       return false;
> 832:     } else {
> 833:       // For virtual thread's we need to extract the carrier's 
> JavaThread - if any.

nit typo: s/thread's/threads/

src/hotspot/share/runtime/threadSMR.hpp line 72:

> 70: //   :  // do stuff with 'jt'...
> 71: //
> 72: // A JavaThread* that is included in the ThreadsList that is held by

Why change just this location from `JavaThread *` to `JavaThread*`?
There are other places that you touched that still use `JavaThread *`.

src/hotspot/share/runtime/threadSMR.hpp line 310:

> 308:   inline Iterator end();
> 309: 
> 310:   bool cv_internal_thread_to_JavaThread(jobject jthread, JavaThread** 
> jt_pp, oop* thread_oop_p);

I wish I could remember why in the world I put a space before the `*` when I
did this code so very long ago...

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

Marked as reviewed by dcubed (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/26287#pullrequestreview-3056275005
PR Review Comment: https://git.openjdk.org/jdk/pull/26287#discussion_r2231715585
PR Review Comment: https://git.openjdk.org/jdk/pull/26287#discussion_r2231668135
PR Review Comment: https://git.openjdk.org/jdk/pull/26287#discussion_r2231710443
PR Review Comment: https://git.openjdk.org/jdk/pull/26287#discussion_r2231713403

Reply via email to