RFR: 8265218: trace_method_handle_stub fails to find calling frame on x86
Vladimir Ivanov
vlivanov at openjdk.java.net
Fri Apr 16 23:09:40 UTC 2021
`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`
-------------
Commit messages:
- 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
Changes: https://git.openjdk.java.net/jdk/pull/3554/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3554&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8265218
Stats: 7 lines in 2 files changed: 2 ins; 3 del; 2 mod
Patch: https://git.openjdk.java.net/jdk/pull/3554.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/3554/head:pull/3554
PR: https://git.openjdk.java.net/jdk/pull/3554
More information about the hotspot-runtime-dev
mailing list