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

Reply via email to