先安装下hg
brew install mercurial
官网地址: https://www.chrisnewland.com/updated-instructions-for-building-hsdis-on-osx-417
hg clone http://hg.openjdk.java.net/jdk8u/jdk8u
# 官网上少了这一步
sh get_source.sh
cd jdk8u/hotspot/src/share/tools/hsdis/
wget http://ftp.heanet.ie/mirrors/ftp.gnu.org/gnu/binutils/binutils-2.30.tar.gz
tar -xzf binutils-2.30.tar.gz
make BINUTILS=binutils-2.30 ARCH=amd64
#java8
sudo cp build/macosx-amd64/hsdis-amd64.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre/lib/server/
Vm参数
-XX:+UnlockDiagnosticVMOptions
-XX:+PrintAssembly
-XX:CompileCommand=print,*Test.main
-XX:+LogCompilation
-XX:LogFile=jit.log
运行程序就可以看到汇编输出了: