RFR: 8311218: fatal error: stuck in JvmtiVTMSTransitionDisabler::VTMS_transition_disable [v3]
Serguei Spitsyn
sspitsyn at openjdk.org
Thu Dec 14 12:19:43 UTC 2023
On Tue, 12 Dec 2023 23:54:43 GMT, Leonid Mesnik <lmesnik at openjdk.org> wrote:
>> Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:
>>
>> review: (1) rename notifyJvmti method; (2) add try-final statements to VirtualThread methods
>
> src/hotspot/share/prims/jvm.cpp line 4013:
>
>> 4011: // Notification from VirtualThread about entering/exiting sync critical section.
>> 4012: // Needed to avoid deadlocks with JVMTI suspend mechanism.
>> 4013: JVM_ENTRY(void, JVM_VirtualThreadCriticalLock(JNIEnv* env, jobject vthread, jboolean enter))
>
> the jobject vthread is not used. Can't be the method made static to reduce the number of arguments?
> It is the performance-critical code, I don't know if it is optimized by C2.
Good question.
In general, I'd like to keep this unified with the other `notiftJvmti` methods.
Let me double check how it fits together.
Also, I'm not sure how is going to impact the intrinsification.
> src/hotspot/share/runtime/javaThread.hpp line 320:
>
>> 318: bool _is_in_VTMS_transition; // thread is in virtual thread mount state transition
>> 319: bool _is_in_tmp_VTMS_transition; // thread is in temporary virtual thread mount state transition
>> 320: bool _is_in_critical_section; // thread is in a locking critical section
>
> might make sense to add a comment, that his variable Is changed/read only by current thread and no sync is needed.
Good suggestion, thanks.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17011#discussion_r1426643218
PR Review Comment: https://git.openjdk.org/jdk/pull/17011#discussion_r1426643663
More information about the serviceability-dev
mailing list