检查 JVM 中 JIT 编译的代码
访问 JIT 输出
查看由 Java 虚拟机 (JVM) 中的 JIT 编译器生成的本机代码,采用以下 JVM选项:
-XX:+UnlockDiagnosticVMOptions
-XX:+PrintAssembly
过滤特定方法
或者,您可以使用语法过滤特定方法:
-XX:+UnlockDiagnosticVMOptions
-XX:CompileCommand=print,*MyClass.myMethod
Windows 注意事项
对于 Windows 用户,必须先安装来自 fcml 项目的 hsdis-amd64.dll 和 hsdis-i386.dll。
Windows 分步安装指南
-
安装 Cygwin 并选择以下内容软件包:
- make
- mingw64-x86_64-gcc-core(用于 hsdis-amd64.dll)
- mingw64-i686-gcc-core(用于 hsdis-) i386.dll)
- diffutils (来自 Utils 类别)
-
下载并解压 GNU binutils 源包到您的 Cygwin 主目录(例如,C:cygwinhome)。
-
下载并解压 OpenJDK将 hsdis 目录复制到 Cygwin 主目录。
-
导航到 Cygwin 终端 (cd ~/hsdis) 中的 hsdis 目录。
-
编译hsdis-amd64.dll:
- make OS=Linux MINGW=x86_64-w64-mingw32 'AR=$(MINGW)-ar' BINUTILS=~/binutils-2.25
-
编译 hsdis-i386.dll:
- make OS=Linux MINGW= i686-w64-mingw32 'AR=$(MINGW)-ar' BINUTILS=~/binutils-2.25
-
编辑 ~/hsdis/build/Linux-amd64/bfd/Makefile 和将 SUBDIRS = doc po 更改为 SUBDIRS = po.
- 重新运行编译命令。
-
将 DLL 复制到 JRE 的 bin 目录:
- 从 hsdisbuildLinux-amd64 复制或hsdisbuildLinux-i586 到 JREbinserver 或 JREbinclient。
以上是如何检查 JIT 编译的 Java 代码?的详细内容。更多信息请关注PHP中文网其他相关文章!