Hi Richard,

I've described the motivation on JDK-8201641 (it is a parent task of 
JDK-8242427)

```
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.
```

I aimed to improve JVMTI monitor operation with TLS at first, but I found other 
JVMTI operations can be improved with same process. So I've tried to fix them.

I proposed it to serviceability-dev [1], then Dan told me similar enhancement 
is already filed to JBS [2]. So I created subtasks in it.


Thanks,

Yasumasa


[1] 
https://mail.openjdk.java.net/pipermail/serviceability-dev/2020-March/030890.html
[2] 
https://mail.openjdk.java.net/pipermail/serviceability-dev/2020-March/030897.html


On 2020/08/27 5:33, Reingruber, Richard wrote:
Hi Yasumasa,

Could you explain a little bit the motivation to replace these vm operations 
with handshakes?
Would be good, if you could add the goals as well to the JBS item.

Thanks, Richard.

-----Original Message-----
From: serviceability-dev <serviceability-dev-r...@openjdk.java.net> On Behalf 
Of Yasumasa Suenaga
Sent: Montag, 24. August 2020 04:40
To: serviceability-dev <serviceability-dev@openjdk.java.net>
Subject: 8242427: JVMTI frame pop operations should use Thread-Local Handshakes

Hi all,

I want to hear your opinions about the change for JDK-8242427.

I'm trying to migrate following operations to direct handshake.

      - VM_UpdateForPopTopFrame
      - VM_SetFramePop
      - VM_GetCurrentLocation

Some operations (VM_GetCurrentLocation and EnterInterpOnlyModeClosure) might be 
called at safepoint, so I want to use JavaThread::active_handshaker() in 
production VM to detect the process is in direct handshake or not.

However this function is available in debug VM only, so I want to hear the 
reason why it is for debug VM only, and there are no problem to use it in 
production VM. Of course another solutions are welcome.

webrev is here. It passed jtreg tests (vmTestbase/nsk/{jdi,jdwp,jvmti} 
serviceability/{jdwp,jvmti})
    http://cr.openjdk.java.net/~ysuenaga/JDK-8242427/proposal/


Thanks,

Yasumasa

Reply via email to