首页 >Java >java教程 >如何检查 JIT 编译的 Java 代码?

如何检查 JIT 编译的 Java 代码?

Patricia Arquette
Patricia Arquette原创
2024-12-10 17:40:10177浏览

How Can I Inspect JIT-Compiled Java Code?

检查 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 分步安装指南

  1. 安装 Cygwin 并选择以下内容软件包:

    • make
    • mingw64-x86_64-gcc-core(用于 hsdis-amd64.dll)
    • mingw64-i686-gcc-core(用于 hsdis-) i386.dll)
    • diffutils (来自 Utils 类别)
  2. 下载并解压 GNU binutils 源包到您的 Cygwin 主目录(例如,C:cygwinhome)。
  3. 下载并解压 OpenJDK将 hsdis 目录复制到 Cygwin 主目录。
  4. 导航到 Cygwin 终端 (cd ~/hsdis) 中的 hsdis 目录
  5. 编译hsdis-amd64.dll:

    • make OS=Linux MINGW=x86_64-w64-mingw32 'AR=$(MINGW)-ar' BINUTILS=~/binutils-2.25
  6. 编译 hsdis-i386.dll:

    • make OS=Linux MINGW= i686-w64-mingw32 'AR=$(MINGW)-ar' BINUTILS=~/binutils-2.25
  7. 编辑 ~/hsdis/build/Linux-amd64/bfd/Makefile 和将 SUBDIRS = doc po 更改为 SUBDIRS = po.
  8. 重新运行编译命令。
  9. 将 DLL 复制到 JRE 的 bin 目录:

    • 从 hsdisbuildLinux-amd64 复制或hsdisbuildLinux-i586 到 JREbinserver 或 JREbinclient。

以上是如何检查 JIT 编译的 Java 代码?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn