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. ------------- Commit messages: - comment is fixed. - fix Changes: https://git.openjdk.org/jdk/pull/27112/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=27112&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8365192 Stats: 65 lines in 2 files changed: 30 ins; 22 del; 13 mod Patch: https://git.openjdk.org/jdk/pull/27112.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/27112/head:pull/27112 PR: https://git.openjdk.org/jdk/pull/27112