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 カテゴリから)
- ダウンロードして抽出します binutils ソース パッケージを Cygwin ホーム ディレクトリ (例: C:cygwinhome) にコピーします。
- OpenJDK hsdis ディレクトリを Cygwin ホーム ディレクトリにダウンロードして抽出します。
- Cygwin ターミナルで hsdis ディレクトリに移動します (cd ~/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 中国語 Web サイトの他の関連記事を参照してください。