RFR: 8365192: post_meth_exit should be in vm state when calling get_jvmti_thread_state [v13]
Leonid Mesnik
lmesnik at openjdk.org
Thu Aug 21 14:30:04 UTC 2025
On Wed, 20 Aug 2025 16:48:56 GMT, Leonid Mesnik <lmesnik at openjdk.org> wrote:
>> The method
>> get_jvmti_thread_state()
>> should be called only while thread is in vm state.
>>
>> The post_method_exit is doing some preparation before switching to vm state. This cause issues if thread is needed to initialize jvmti thread state.
>>
>> The fix was found using jvmti stress agent and thus no additional regression test is required.
>
> Leonid Mesnik has updated the pull request incrementally with one additional commit since the last revision:
>
> fixed comment.
I see that that
post_method_exit in the
`void InterpreterMacroAssembler::notify_method_exit(..)`
is called only when thread is in interp_only mode. So it is ok to call
current_frame.interpreter_frame_result(&oop_result, &value);
I did this, and why I trying to understand what would be result in the case of `exception_exit == true` I realized that it is still safe, because this method always exit normally.
So let me split this fix into 2 separate issues and fix them separately. I filed
https://bugs.openjdk.org/browse/JDK-8365937
to don't change posting because of `exception_exit`
-------------
PR Comment: https://git.openjdk.org/jdk/pull/26713#issuecomment-3210843477
More information about the hotspot-dev
mailing list