RFR: 8309399: JVMTI spec needs to clarify when OPAQUE_FRAME is thrown for reasons other than a native method [v3]

Chris Plummer cjplummer at openjdk.org
Mon Jul 7 18:46:40 UTC 2025


On Mon, 7 Jul 2025 18:13:19 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:

>> It was decided in a local discussion with Chris and Alan to update the JVMTI spec to make descriptions/clarifications of some `JVMTI_ERROR_OPAQUE_FRAME` cases more consistent.
>> This impacts the following JVMTI functions:
>>   - `PopFrame`
>>   - `NotifyFramePop`
>>   - `ForceEarlyReturn<Type>`
>> 
>> A related CSR is going to be filed for this spec update.
>> 
>> Testing:
>>  - it is N/A in general but mach5 tiers 1-3 will be run to be completely safe
>
> 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".

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26111#discussion_r2190807109


More information about the serviceability-dev mailing list