檢查JVM 中JIT 編譯的程式碼
存取JIT 輸出
-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 來源包到您的主目錄(例如C:cygwinhome)。
-
下載並解壓縮 OpenJDK將 hsdis 目錄複製到 Cygwin 主目錄。
-
導覽至 Cygwin 終端 (cd ~/hsdis) 中的 hsdis 目錄。
-
編譯hsdis-amd64.dll:
- make OS=Linux MINGW=x86_64-w64-mingw32 'ARmingw32) 'ARmingf ar' BINUTILS=~/binutils-2.25
-
編譯hsdis-i386.dll:
- 編輯 ~/hsdis/build/Linux-amd64/bfd/Makefile 和bf將SUBDIRS = doc po 改為SUBDIRS = po.
- 重新執行編譯指令。
-
將 DLL 複製到 JRE 的 bin 目錄:
從 bindisbuildLinux-amd64 複製或 Jbind -
以上是如何檢查 JIT 編譯的 Java 程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!