首頁 >Java >java教程 >如何查看JVM產生的JIT編譯程式碼?

如何查看JVM產生的JIT編譯程式碼?

Linda Hamilton
Linda Hamilton原創
2024-12-15 17:33:22275瀏覽

How Can I View JIT-Compiled Code Generated by the JVM?

如何在JVM 中查看JIT 編譯的程式碼

儘管即時(JIT) 編譯是優化Java 虛擬機(JVM) 效能的關鍵方面,直接查看其輸出程式碼可能具有挑戰性。但是,有一些特定的 JVM 選項可檢查 JIT 產生的本機程式碼。

一般用法

可以將以下 JVM 選項加入命令列:

  • -XX:解鎖DiagnosticVMOptions
  • -XX: PrintAssembly

這些選項提供詳細輸出並包含產生的組譯指令。

過濾特定方法

要將輸出限制為特定方法,請使用以下語法:

  • -XX:解鎖DiagnosticVMOptions -XX:CompileCommand=print ,*MyClass.myMethod

在Windows上安裝所需的函式庫

對於 Windows 系統,需要安裝 hsdis-amd64.dll 和 hsdis-i386.dll存取 PrintAssembly 功能。預先建置的二進位檔案可從 fcml 專案取得,也可以使用 Cygwin 和 binutils 手動建置。

在 Windows 上建置 hsdis-amd64.dll 和 hsdis-i386.dll

  1. 安裝 Cygwin並選擇以下內容軟體包:

    • make
    • mingw64-x86_64-gcc-core(對於hsdis-amd64.dll)
    • mingw64-i686-gcc-core(對於hsdis-i386.dll)
    • diffutils
    1. diffutils
    2. diffutils
  2. 下載並解壓縮 GNU binutils 和 hsdis原始碼包複製到Cygwin主目錄。
  3. 中Cygwin 終端,導航到 hsdis 目錄並使用適當的命令建立 hsdis-amd64.dll 或 hsdis-i386.dll。

修改 buildLinux-amd64bfdMakefile 將 SUBDIRS = doc po 改為SUBDIRS = po.重新執行建置指令。

將建置的 DLL 複製到 JRE 的 bin 目錄。

額外提示使用 Intel 而不是 AT&T 顯示組譯指令語法,將 -XX:PrintAssemblyOptions=intel 新增至 JVM 選項。

以上是如何查看JVM產生的JIT編譯程式碼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn