首頁 > Java > java教程 > 如何檢查JVM中JIT編譯的組譯程式碼?

如何檢查JVM中JIT編譯的組譯程式碼?

Linda Hamilton
發布: 2024-12-12 17:46:10
原創
156 人瀏覽過

How Can I Inspect the JIT-Compiled Assembly Code in the JVM?

檢查 JVM 中的 JIT 編譯程式碼

Java 虛擬機 (JVM) 利用即時 (JIT) 來改善程式碼執行效率。雖然 JIT 在後台無縫運行,但有時開發人員可能會尋求檢查 JIT 產生的本機程式碼。本文提供有關如何查看 JIT 產生的彙編程式碼的說明。

一般用法

使用下列選項執行 JVM:

-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly
登入後複製

過濾特定方法

隔離彙編程式碼對於特定方法,請使用以下語法:

-XX:+UnlockDiagnosticVMOptions -XX:CompileCommand=print,*MyClass.myMethod
登入後複製

請注意,方法名稱可能需要引號,具體取決於作業系統。內聯方法可能不會顯示所有最佳化。

在 Windows 上安裝所需的函式庫

要在 Windows 上存取這些選項,需要安裝特定的函式庫。可以從fcml 專案中取得預先建置的二進位檔案:

  • hsdis-amd64.dll
  • hsdis-i386.dll

hsdis-i386.dll

或,這些庫可以是使用Cygwin 手動建置。 fmlc 指南中詳細介紹了這兩種方法。

    附加說明
  • 對於Intel ASM 語法,請使用-XX:PrintAssemblyOptions=intel 以及其他選項.
  • 輸出的彙編程式碼通常很冗長,可能難以理解解釋。
解鎖診斷虛擬機器選項可能會影響效能。僅在出於診斷目的必要時才使用這些選項。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板