RFR: 8341273: JVMTI is not properly hiding some continuation related methods [v3]

Serguei Spitsyn sspitsyn at openjdk.org
Wed Oct 16 10:10:15 UTC 2024


On Wed, 16 Oct 2024 08:05:20 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Disallow NotifyFramePop for enter/enter0/VirtualThread.run/VThreadContinuation.run
>
> src/java.base/share/classes/java/lang/VirtualThread.java line 219:
> 
>> 217:                 public void run() {
>> 218:                     // notify JVMTI
>> 219:                     vthread.notifyJvmtiStart();
> 
> The notifyJvmtiMount and notifyJvmtiUnmount (native) methods already have the annotations. Is it really required on the caller too?  I'm wondering if the comment on JvmtiMountTransition needs to be expanded to explain this.

The method `java/lang/VirtualThread$VThreadContinuation$1.run()` is starting and finishing in a VTMS transition.
The issue is with the JVMTI `NotifyFramePop`. We need a way to disallow adding `FramePop` event requests to its frame. I'm trying to move the `notifyJvmtiStart/notifyJvmtiEnd` calls to earlier frame to reduce a little bit the scope of VTMS transition. What is the best place to explain it?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21397#discussion_r1802793692


More information about the serviceability-dev mailing list