On Wed, 26 Nov 2025 22:47:25 GMT, Patricio Chilano Mateo <[email protected]> wrote:
>> src/hotspot/share/prims/jvmtiEnvBase.cpp line 1772: >> >>> 1770: >>> 1771: assert(java_thread != nullptr, "sanity check"); >>> 1772: assert(!java_thread->is_in_VTMS_transition(), "sanity check"); >> >> Why don't you need these asserts anymore? > > We can’t assert this because it could be temporarily set by the target while > trying to transition. Previously we had two fields in JavaThread, > `_VTMS_transition_mark` and `_is_in_VTMS_transition`. `_VTMS_transition_mark` > was set first (checked by the disabler), and if transitions were disabled we > waited. Once the transition could start we set `_is_in_VTMS_transition`. > Going over the changes I see I removed one assert in > `JvmtiEnvBase::get_vthread_jvf` that should be okay to keep, so I restored > it. Also added an assert in `JavaThread::is_in_VTMS_transition()` (now > `is_in_vthread_transition`) to verify that if it’s accessed from another > thread then it has to be done from a safe context where the value will not > change right after checking. okay. seems like a better place for it. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/28361#discussion_r2578224144
