RFR: 8365192: post_meth_exit should be in vm state when calling get_jvmti_thread_state [v8]

Martin Doerr mdoerr at openjdk.org
Tue Sep 9 15:51:38 UTC 2025


On Tue, 9 Sep 2025 14:27:53 GMT, Leonid Mesnik <lmesnik at openjdk.org> wrote:

>> This is the second attempt to fix method `post_meth_exit` to correctly set state and preserve result.
>> The related fix here:
>> https://github.com/openjdk/jdk/commit/b7b64bb6c800b45e32ff37b1b92b5927a3b3fb56
>> Hope fix became clarere now.
>> 
>> There 2 problems in this post_meth_exit:
>> 1) The result is preserved only if `state->is_enabled(JVMTI_EVENT_METHOD_EXIT)` however transition in the JRT_BLOCK_END happens always. So there is a risk of loosing method results in the interp_only mode.
>> 2) The method `get_jvmti_thread_state` should be called when thread is in vm state only.
>> 
>> The fix adds `post_method_exit_transition` to have single exit point with oop restoration.
>
> Leonid Mesnik has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Update src/hotspot/share/prims/jvmtiExport.cpp
>   
>   Co-authored-by: David Holmes <62092539+dholmes-ora at users.noreply.github.com>

Marked as reviewed by mdoerr (Reviewer).

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

PR Review: https://git.openjdk.org/jdk/pull/27112#pullrequestreview-3202259586


More information about the serviceability-dev mailing list