RFR: 8253757: Add LLVM-based backend for hsdis
Magnus Ihse Bursie
ihse at openjdk.java.net
Fri Feb 18 11:51:30 UTC 2022
Third time's a charm! After the two previous closed PRs for this issue, I think this functionality is finally ready to enter mainline. :)
This code is at it's core the same as the previous PR. The main C++ hsdis implementation is still the one @luhenry wrote, with some changes. As in the previous PR, I extracted the LLVM-specific part into a separate file. In addition to the last PR, I have also fixed a warning, and added a patch inspired by @nick-arm for getting past instructions unknown to LLVM.
Thanks to the prototype written by @JornVernee (and his graciously providing me with a working version of LLVM build for Windows), this PR now has full support for LLVM on Windows (as well as Linux and macOS).
Finally, I have cleaned up the integration in autoconf and Hsdis.gmk, and written a thorough guide in the README on how to build witth LLVM, on Windows and on saner platforms. :)
I'm pretty sure this means that all comments and criticism in the previous PR has been addressed.
Huge thanks to everyone who has helped me with getting this PR in place. I have a hard time remember a feature that has been so tricky to get in place, for something to seemingly simple...
-------------
Commit messages:
- Update description on runtime requirements for LLVM
- Fix warning on Windows (as opposed to hiding it)
- Add LLVM backend to hsdis. Portions of this patch contributed by luhenry, jvernee and ngasson.
Changes: https://git.openjdk.java.net/jdk/pull/7531/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7531&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8253757
Stats: 495 lines in 4 files changed: 490 ins; 0 del; 5 mod
Patch: https://git.openjdk.java.net/jdk/pull/7531.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/7531/head:pull/7531
PR: https://git.openjdk.java.net/jdk/pull/7531
More information about the hotspot-compiler-dev
mailing list