Maison > Java > javaDidacticiel > Comment puis-je afficher le code compilé JIT dans la machine virtuelle Java (JVM) ?

Comment puis-je afficher le code compilé JIT dans la machine virtuelle Java (JVM) ?

Linda Hamilton
Libérer: 2024-12-05 17:14:11
original
328 Les gens l'ont consulté

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

Affichage du code compilé JIT dans une machine virtuelle Java (JVM)

La machine virtuelle Java (JVM) dispose d'un système juste à temps (JIT) compilateur qui optimise le bytecode Java en code natif. Pour examiner ce code natif, envisagez les techniques suivantes :

Utilisation générale

Utilisez les options JVM comme suit :

-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly
Copier après la connexion

Spécifique Filtrage de méthodes

Vous pouvez isoler des méthodes spécifiques en utilisant les éléments suivants syntaxe :

-XX:+UnlockDiagnosticVMOptions -XX:CompileCommand=print,*MyClass.myMethod
Copier après la connexion

Remarque :

  • Des guillemets peuvent être nécessaires autour du deuxième argument, selon le système d'exploitation.
  • Méthode inlining peut gêner l'observabilité de certaines optimisations.

Installation sur Windows

Pour les systèmes Windows, suivez les instructions ci-dessous pour créer et installer les bibliothèques requises :

Binaires prédéfinis

Télécharger les binaires prédéfinis pour Windows du FCML projet :

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

Construction manuelle

  1. Installez Cygwin avec ce qui suit packages :

    • make
    • mingw64-x86_64-gcc-core (pour hsdis-amd64.dll)
    • mingw64-i686-gcc-core (pour hsdis-i386.dll)
    • diffutils
  2. Extrayez le package source GNU binutils (par exemple, binutils-2.25.tar.bz2) dans votre répertoire personnel Cygwin.
  3. Extraire le répertoire OpenJDK hsdis (depuis srcsharetools) vers votre répertoire personnel Cygwin.
  4. Dans Cygwin Terminal, accédez à ~/hsdis.
  5. Construisez hsdis-amd64.dll (ou hsdis-i386.dll) à l'aide de la commande appropriée :
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
Copier après la connexion
  1. Modifier hsdisbuildLinux-amd64bfdMakefile et remplacez SUBDIRS = doc po par SUBDIRS = po.
  2. Réexécutez la commande build.
  3. Copiez la DLL construite dans le répertoire binserver ou binclient de votre JRE.

Supplémentaire Conseils

Pour la syntaxe Intel ASM, utilisez l'option -XX:PrintAssemblyOptions=intel à côté des options PrintAssembly.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal