RFR: 8265218: trace_method_handle_stub fails to find calling frame on x86 [v3]

Daniel D.Daugherty dcubed at openjdk.java.net
Wed Apr 21 14:17:42 UTC 2021


On Wed, 21 Apr 2021 10:51:01 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> `trace_method_handle_stub` on x86 tries to dump the frame which initiated the tracing, but fails to find the proper frame when it is the immediate caller.  
>> 
>> The problem is `os::current_frame()` returns the caller (instead of the current frame as the name suggests) and then `os::get_sender_for_C_frame()` steps over one more frame. So, if there are no intermediate frames present, it steps over the desired frame.
>> 
>> Proposed fix is to start the search from the frame reported by `os::current_frame()`.
>> 
>> Testing:
>> - [x] failing test
>> - [x] hs-precheckin-comp,hs-tier1,hs-tier2 w/ `-Xlog:methodhandles=trace`
>
> Vladimir Ivanov has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits:
> 
>  - Merge branch 'master' into 8265218.mh_logging
>  - Improve the comment
>  - Merge branch 'master' into 8265218.mh_logging
>  - Remove from test/hotspot/jtreg/ProblemList-Xcomp.txt
>  - 8265218: trace_method_handle_stub fails to find calling frame on x86

Thanks for updating the comment.

Thumbs up.

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

Marked as reviewed by dcubed (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3554


More information about the hotspot-runtime-dev mailing list