RFR: 8188073: Add Capstone as backend for hsdis

Magnus Ihse Bursie ihse at openjdk.java.net
Wed Feb 16 22:20:33 UTC 2022


The Capstone library is a simple to use, efficient disassembly library, distributed under the MIT license. 

This PR implements an hsdis backend using Capstone. It has been tested on Linux, macOS and Windows (x64).

The actual C implementation of the backend was done by @JornVernee. I assume there are plenty of room for enhancing this implementation, with options like in the binutils backend. Such improvements can be done later, by teams more familiar with the requirements of hsdis.

-------------

Commit messages:
 - Fix whitespace error (thanks, jcheck!)
 - Minor fixes
 - The pandoc-style copyright header looks bad on Github...
 - Turn the README into markdown format. Add documentation on building Capstone.
 - Fix capstone on Windows
 - Add capstone as hsdis backend

Changes: https://git.openjdk.java.net/jdk/pull/7506/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7506&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8188073
  Stats: 517 lines in 9 files changed: 346 ins; 136 del; 35 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7506.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7506/head:pull/7506

PR: https://git.openjdk.java.net/jdk/pull/7506


More information about the hotspot-compiler-dev mailing list