Integrated: 8265218: trace_method_handle_stub fails to find calling frame on x86
Vladimir Ivanov
vlivanov at openjdk.java.net
Thu Apr 22 12:21:25 UTC 2021
On Fri, 16 Apr 2021 22:50:39 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`
This pull request has now been integrated.
Changeset: e16d568c
Author: Vladimir Ivanov <vlivanov at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/e16d568c
Stats: 12 lines in 2 files changed: 8 ins; 3 del; 1 mod
8265218: trace_method_handle_stub fails to find calling frame on x86
Reviewed-by: dholmes, dcubed
-------------
PR: https://git.openjdk.java.net/jdk/pull/3554
More information about the hotspot-runtime-dev
mailing list