编译 hsdis mac 版本,打印 jvm 执行时汇编信息

别人家的仓库

wget 一下,然后把 hsids-amd64.dylib 放到 /Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/jre/lib/server/ 目录下,用 java -XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly <Java Main Class Name(no suffix)> 即可。
以及放在 debug 版本:~/jvm/jdk8_mac/build/macosx-x86_64-normal-server-slowdebug/images/j2sdk-bundle/jdk1.8.0.jdk/Contents/Home/jre/lib/server 目录下,但是这时候要指定:export LD_LIBRARY_PATH=~/jvm/jdk8_mac/build/macosx-x86_64-normal-server-slowdebug/images/j2sdk-bundle/jdk1.8.0.jdk/Contents/Home/jre/lib/server 才行,要不链接找不到。之后 java1 -XX:+PrintAssembly <Java Main Class Name(no suffix)> 即可。详见:http://yueyemaitian.iteye.com/blog/2042772。

唉……其实在我的机器上并没有编译成功,错误信息比较诡异。所以请用上边取巧的办法。
https://www.chrisnewland.com/building-hsdis-amd64dylib-on-mac-osx-376
最后需要加一个参数 ARCH=amd64…… 要不一直默认编译 i386 的……
用 clang 编译的,不会有问题。