Heim >Java >javaLernprogramm >Wie kann ich von der JVM generierten JIT-kompilierten Code anzeigen?

Wie kann ich von der JVM generierten JIT-kompilierten Code anzeigen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-15 17:33:22272Durchsuche

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

So sehen Sie JIT-kompilierten Code in JVM

Obwohl die Just-in-Time-Kompilierung (JIT) ein entscheidender Aspekt bei der Optimierung der Leistung der Java Virtual Machine (JVM) ist , kann es schwierig sein, den Ausgabecode direkt anzuzeigen. Es gibt jedoch spezielle JVM-Optionen, die eine Untersuchung des vom JIT generierten nativen Codes ermöglichen.

Allgemeine Verwendung

Die folgenden JVM-Optionen können zu Befehlszeilen hinzugefügt werden:

  • -XX: UnlockDiagnosticVMOptions
  • -XX: PrintAssembly

Diese Optionen bieten eine ausführliche Ausgabe und enthalten generierte Assemblyanweisungen.

Filtern nach einer bestimmten Methode

Um die Ausgabe auf eine bestimmte Methode zu beschränken, verwenden Sie die Syntax :

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

Erforderliche Bibliotheken unter Windows installieren

Für Windows-Systeme ist die Installation von hsdis-amd64.dll und hsdis-i386.dll erforderlich Zugriff auf die PrintAssembly-Funktionalität. Vorgefertigte Binärdateien sind im fcml-Projekt verfügbar oder können manuell mit Cygwin und Binutils erstellt werden.

Erstellen von hsdis-amd64.dll und hsdis-i386.dll unter Windows

  1. Installieren Sie Cygwin und wählen Sie Folgendes aus Pakete:

    • make
    • mingw64-x86_64-gcc-core (für hsdis-amd64.dll)
    • mingw64-i686-gcc-core (für hsdis-i386.dll)
    • diffutils
    1. Führen Sie das Cygwin-Terminal aus und erstellen Sie ein Cygwin-Home-Verzeichnis.
    2. Laden Sie die GNU-Binutils und hsdis herunter und extrahieren Sie sie Quellpakete in das Cygwin-Home-Verzeichnis.
    3. Navigieren Sie im Cygwin-Terminal zum hsdis-Verzeichnis und erstellen Sie hsdis-amd64.dll oder hsdis-i386.dll mit den entsprechenden Befehlen.
  2. Ändern Sie die buildLinux-amd64bfdMakefile, um SUBDIRS = doc po in SUBDIRS = po zu ändern.
  3. Führen Sie den Build erneut aus Befehl.
  4. Kopieren Sie die erstellten DLLs in die bin-Verzeichnisse der JRE.

Bonus-Tipp

Um Montageanweisungen mit Intel anstelle von AT&T anzuzeigen Syntax, fügen Sie -XX:PrintAssemblyOptions=intel zu den JVM-Optionen hinzu.

Das obige ist der detaillierte Inhalt vonWie kann ich von der JVM generierten JIT-kompilierten Code 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