Integrated: 8365192: post_meth_exit should be in vm state when calling get_jvmti_thread_state

Leonid Mesnik lmesnik at openjdk.org
Tue Sep 9 23:53:19 UTC 2025


On Fri, 5 Sep 2025 06:22:15 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.

This pull request has now been integrated.

Changeset: 8cd4e7d8
Author:    Leonid Mesnik <lmesnik at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/8cd4e7d856dcc68243505f4e771dc8ab87176584
Stats:     55 lines in 1 file changed: 24 ins; 20 del; 11 mod

8365192: post_meth_exit should be in vm state when calling get_jvmti_thread_state

Reviewed-by: mdoerr, dholmes

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

PR: https://git.openjdk.org/jdk/pull/27112


More information about the serviceability-dev mailing list