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