On Thu, 29 Jan 2026 04:21:18 GMT, David Holmes <[email protected]> wrote:
>> src/hotspot/share/classfile/javaClasses.cpp line 1944: >> >>> 1942: >>> 1943: bool is_virtual = >>> java_lang_VirtualThread::is_instance(_thread_h()); >>> 1944: bool vthread_carrier = !is_virtual && (java_thread != nullptr) >>> && (java_thread->vthread_continuation() != nullptr); >> >> The extra `java_thread != nullptr` should not be necessary. > > What would force it to be non-null? (Related: under what conditions will `th` > be null and what does that imply about the value of `_thread_h()`?) A null `java_thread` is only possible for the unmounted vthread case. The oop should always be a valid `java.lang.Thread` though. Maybe `thread_oop` should be initialized to `nullptr` and the assert at line 1914 be just `assert(thread_oop != nullptr, "Missing Thread oop");`? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/29461#discussion_r2742835509
