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

Reply via email to