Thread Local Handshake in JVMTI functions
Daniel D. Daugherty
daniel.daugherty at oracle.com
Tue Mar 31 14:41:01 UTC 2020
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