Maison >Java >javaDidacticiel >Comment puis-je inspecter le code Java compilé JIT ?

Comment puis-je inspecter le code Java compilé JIT ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-10 17:40:10177parcourir

How Can I Inspect JIT-Compiled Java Code?

Inspection du code compilé JIT dans la JVM

Accès à la sortie JIT

Pour afficher le le code natif généré par le compilateur JIT dans une machine virtuelle Java (JVM), utilise la JVM suivante options :

-XX:+UnlockDiagnosticVMOptions
-XX:+PrintAssembly

Filtrage sur des méthodes spécifiques

Vous pouvez également filtrer sur une méthode particulière en utilisant la syntaxe :

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

Considérations Windows

Pour les utilisateurs Windows, vous devez d'abord installer hsdis-amd64.dll et hsdis-i386.dll du projet fcml.

Guide d'installation étape par étape pour Windows

  1. Installez Cygwin et sélectionnez ce qui suit packages :

    • make
    • mingw64-x86_64-gcc-core (pour hsdis-amd64.dll)
    • mingw64-i686-gcc-core (pour hsdis- i386.dll)
    • diffutils (depuis Utils catégorie)
  2. Téléchargez et extrayez le package source GNU binutils dans votre répertoire personnel Cygwin (par exemple, C:cygwinhome).
  3. Téléchargez et extrayez le répertoire hsdis OpenJDK sur votre domicile Cygwin
  4. Naviguez vers le répertoire hsdis dans le terminal Cygwin (cd ~/hsdis).
  5. Compilez hsdis-amd64.dll :

    • faire OS=Linux MINGW=x86_64-w64-mingw32 'AR=$(MINGW)-ar' BINUTILS=~/binutils-2.25
  6. Compilez hsdis-i386.dll :

    • faire OS=Linux MINGW=i686-w64-mingw32 'AR=$(MINGW)-ar' BINUTILS=~/binutils-2.25
  7. Modifier ~/hsdis/build/Linux -amd64/bfd/Makefile et remplacez SUBDIRS = doc po par SUBDIRS = po.
  8. Réexécutez la commande de compilation.
  9. Copiez la DLL dans le répertoire bin de votre JRE :

    • Copier depuis hsdisbuildLinux-amd64 ou hsdisbuildLinux-i586 vers JREbinserver ou JREbinclient.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn