Heim >Java >javaLernprogramm >Wie kann ich JIT-kompilierten Code in der Java Virtual Machine (JVM) anzeigen?

Wie kann ich JIT-kompilierten Code in der Java Virtual Machine (JVM) anzeigen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-05 17:14:11358Durchsuche

How Can I View JIT-Compiled Code in the Java Virtual Machine (JVM)?

Anzeigen von JIT-kompiliertem Code in der Java Virtual Machine (JVM)

Die Java Virtual Machine (JVM) bietet Just-In-Time (JIT)-Compiler, der Java-Bytecode in nativen Code optimiert. Um diesen nativen Code zu untersuchen, sollten Sie die folgenden Techniken in Betracht ziehen:

Allgemeine Verwendung

Verwenden Sie JVM-Optionen wie folgt:

-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly

Spezifisch Methodenfilterung

Mit den folgenden Methoden können Sie bestimmte Methoden isolieren Syntax:

-XX:+UnlockDiagnosticVMOptions -XX:CompileCommand=print,*MyClass.myMethod

Hinweis:

  • Je nach Betriebssystem können Anführungszeichen um das zweite Argument erforderlich sein.
  • Inlining-Methode kann die Beobachtbarkeit bestimmter Optimierungen beeinträchtigen.

Installation am Windows

Befolgen Sie für Windows-Systeme die folgenden Anweisungen, um die erforderlichen Bibliotheken zu erstellen und zu installieren:

Vorgefertigte Binärdateien

Laden Sie vorgefertigte Binärdateien für Windows herunter aus dem fcml Projekt:

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

Manuelle Erstellung

  1. Installieren Sie Cygwin wie folgt Pakete:

    • make
    • mingw64-x86_64-gcc-core (für hsdis-amd64.dll)
    • mingw64-i686-gcc-core (für hsdis-i386.dll)
    • diffutils
  2. Extrahieren Sie das GNU-Binutils-Quellpaket (z. B. binutils-2.25.tar.bz2) in Ihr Cygwin-Home-Verzeichnis.
  3. Extrahieren Sie das OpenJDK-hsdis-Verzeichnis (von srcsharetools) nach Ihr Cygwin-Home-Verzeichnis.
  4. Navigieren Sie im Cygwin-Terminal zu ~/hsdis.
  5. Erstellen Sie hsdis-amd64.dll (oder hsdis-i386.dll) mit dem entsprechenden Befehl:
make OS=Linux MINGW=x86_64-w64-mingw32 'AR=$(MINGW)-ar' BINUTILS=~/binutils-2.25
(or)
make OS=Linux MINGW=i686-w64-mingw32 'AR=$(MINGW)-ar' BINUTILS=~/binutils-2.25
  1. Bearbeiten
  2. Zusätzlich Tipps
Verwenden Sie für die Intel ASM-Syntax die Option -XX:PrintAssemblyOptions=intel neben den PrintAssembly-Optionen.

Das obige ist der detaillierte Inhalt vonWie kann ich JIT-kompilierten Code in der Java Virtual Machine (JVM) anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn