RFR: 8329674: JvmtiEnvThreadState::reset_current_location function should use JvmtiHandshake [v3]

Serguei Spitsyn sspitsyn at openjdk.org
Fri Apr 12 17:07:43 UTC 2024


On Fri, 12 Apr 2024 12:00:55 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:

>> The internal JVM TI JvmtiHandshake and JvmtiUnitedHandshakeClosure classes were introduced in the JDK 22 to unify/simplify the JVM TI functions supporting implementation of the virtual threads. This enhancement is to refactor the JVM TI internal functions JvmtiEnvThreadState::reset_current_location on the base of JvmtiHandshake and JvmtiUnitedHandshakeClosure classes.
>> 
>> Testing:
>>  - Ran mach5 tiers 1-6
>
> Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:
> 
>   review: remove unneded check for is_vthread_alive; do not call do_thread from do_vthread

> Thanks for the investigation! Maybe we should have an assert that current->is_VTMS_transition_disabler() here or even in the JvmtiHandshake::execute() that expects we have one in scope? I see that we have some conditions where JvmtiVTMSTransitionDisabler is a no-op though so we would have to include does as well. Or maybe set the boolean even when it is a no-op.

I'm thinking about the same. It should be relatively easy to implement this check.

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

PR Comment: https://git.openjdk.org/jdk/pull/18630#issuecomment-2052144005


More information about the serviceability-dev mailing list