RFR: 8365937: post_method_exit might incorrectly set was_popped_by_exception and value in the middle of stack unwinding [v3]

Leonid Mesnik lmesnik at openjdk.org
Thu Aug 28 16:41:57 UTC 2025


On Thu, 28 Aug 2025 05:41:20 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Leonid Mesnik has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 27 additional commits since the last revision:
>> 
>>  - Apply suggestions from code review
>>    
>>    Co-authored-by: David Holmes <62092539+dholmes-ora at users.noreply.github.com>
>>  - comment fixed
>>  - Merge branch 'master' of https://github.com/openjdk/jdk into 8365937
>>  - assertion added.
>>  - more comments in the test
>>  - fixed ident
>>  - bugid fixed:
>>  - updated to fix 8365937
>>  - fixed comment.
>>  - test renamed.
>>  - ... and 17 more: https://git.openjdk.org/jdk/compare/dad9fd8a...4e05639a
>
> src/hotspot/share/prims/jvmtiExport.cpp line 1843:
> 
>> 1841:   // return a flag when a method terminates by throwing an exception
>> 1842:   // i.e. if an exception is thrown and it's not caught by the current method
>> 1843:   bool exception_exit = state->is_exception_detected() && !state->is_exception_caught();
> 
> Can we assert this is not an exception exit please.

I am not sure what to check here. 
The 'exception_exit' can be true here. It means that it has been thrown in this thread and not caught yet. But this method is called after exception thrown.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26886#discussion_r2307942708


More information about the hotspot-dev mailing list