HSDIS可以查看java的汇编指令,在github上找不到相关的已经编译好的包,可以通过自己编译的方式运行: 首先下好jdk的源码:
代码语言:javascript复制git clone https://github.com/openjdk/jdk.git
其次进入目录:
代码语言:javascript复制cd jdk/src/utils/hsdis
下载并解压:
代码语言:javascript复制wget https://ftp.gnu.org/gnu/binutils/binutils-2.35.1.tar.xz
tar -xf binutils-2.35.1.tar.xz
最核心的一步进行编译:
代码语言:javascript复制make BINUTILS=binutils-2.35.1 ARCH=aarch64
这里一定要是aarch64才匹配我们的芯片版本 然后将编译好的文件:
代码语言:javascript复制cp build/macosx-amd64/hsdis-amd64.dylib 你的java根目录的bin下
这时
代码语言:javascript复制-Xcomp -XX: UnlockDiagnosticVMOptions -XX: PrintAssembly
最终执行main函数的时候就会打印出汇编: