RFR: 8309399: JVMTI spec needs to clarify when OPAQUE_FRAME is thrown for reasons other than a native method [v3]
Serguei Spitsyn
sspitsyn at openjdk.org
Mon Jul 7 21:08:44 UTC 2025
On Mon, 7 Jul 2025 18:44:13 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:
>> Serguei Spitsyn has updated the pull request incrementally with one additional commit since the last revision:
>>
>> review: tweak the OPAQUE_FRAME clarifications for ForceEarlyReturn* functions
>
> src/hotspot/share/prims/jvmti.xml line 3082:
>
>> 3080: <error id="JVMTI_ERROR_OPAQUE_FRAME">
>> 3081: The implementation is unable to set a <eventlink id="FramePop"></eventlink> event for the frame
>> 3082: (e.g. the frame at <code>depth</code> is executing a native method).
>
> I don't think this sounds right. You don't "set" a FramePop event. You tell JVMTI to generate a FramePop event when this frame is popped. Maybe something like "A FramePop event cannot be generated for this frame".
Thank you for the comment.
The `NotifyFramePop` is similar to `SetBreakpoint`. I'd even prefer it is named accordingly: `SetFramePop` instead of `NotifyFramePop`. We enable any kinds of events with `SetEventNotoficationMode` but there cases where we need to be more specific in setting the events. The `SetBreakpoint` is to set a breakpoint at a specific method's bytecode. The `NotifyFramePop` is to set `FramePop` for a specific frame. So, I' prefer to keep the terminology similar for `Breakpoints` and `FramePop` events.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26111#discussion_r2191012054
More information about the serviceability-dev
mailing list