Thread Local Handshake in JVMTI functions

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Tue Mar 31 16:59:52 UTC 2020


Hi Yasumasa,

Yes, this works needs to be done.
I'll take look at you webrev.

Thanks,
Serguei

On 3/31/20 07:41, Daniel D. Daugherty wrote:
> Add Robbin to this thread...
>
>
> This reminded of the following RFE that Robbin filed:
>
>     JDK-8201641 JVMTI: GetThreadListStackTraces should use 
> Thread-Local Handshakes
>     https://bugs.openjdk.java.net/browse/JDK-8201641
>
> We could update 8201641 to include everything that Yasumasa-san is 
> requesting.
> Would be a good place to track it...
>
> Dan
>
>
> On 3/31/20 7:40 AM, Yasumasa Suenaga wrote:
>> Hi David,
>>
>> On 2020/03/31 19:16, David Holmes wrote:
>>> Hi Yasumasa,
>>>
>>> On 31/03/2020 8:06 pm, Yasumasa Suenaga wrote:
>>>> Hi all,
>>>>
>>>> Many JVMTI functions uses VM Operation to get information. However 
>>>> some of them need to stop only one thread - they don't need to stop 
>>>> all threads.
>>>> So I think we can use Thread Local Handshake as this webrev. It is 
>>>> example for GetOneCurrentContendedMonitor().
>>>
>>> True, but at the moment handshakes involve the VMThread. There is 
>>> work being done to support direct thread-to-thread handshakes and 
>>> once that is done this kind of conversion should be more easily 
>>> done. It might be worth waiting for that.
>>
>> Thanks, I will be back to this topic when thread-to-thread handshake 
>> is done.
>> I wondered at first why VMThread involves handshake. Its improvement 
>> is welcome for me ;)
>>
>>
>> Cheers,
>>
>> Yasumasa
>>
>>
>>>> http://cr.openjdk.java.net/~ysuenaga/jvmti-thread-local-handshake/
>>>
>>> An observation, it seems to me that calling_thread is not used when 
>>> this is not a VMOperation.
>>>
>>> Cheers,
>>> David
>>>
>>>> Also I think we can replace following VM Operations to Thread Local 
>>>> Handshake:
>>>>
>>>> class VM_GetCurrentLocation
>>>> class VM_EnterInterpOnlyMode
>>>> class VM_UpdateForPopTopFrame
>>>> class VM_SetFramePop
>>>> class VM_GetOwnedMonitorInfo
>>>> class VM_GetCurrentContendedMonitor
>>>> class VM_GetFrameCount
>>>> class VM_GetFrameLocation
>>>>
>>>> What do you think?
>>>> It it is acceptable, I will file it to JBS and send review request.
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Yasumasa
>



More information about the serviceability-dev mailing list