[Conocimiento profundo del compilador JIT de la máquina virtual Java] 1124 Ver y analizar los resultados de la compilación JIT

I. Resumen

1. El proceso de compilación JIT de la máquina virtual Java es completamente transparente para el usuario y el programa. El hecho de que la máquina virtual ejecute el código mediante interpretación o compilación no tiene ningún efecto sobre el usuario (no afecta el resultado de la ejecución, Habrá diferencias significativas en lo anterior), en la mayoría de los casos los usuarios no necesitan saberlo. Sin embargo, la máquina virtual HotSpot aún proporciona algunos parámetros para generar el estado de ejecución de la compilación justo a tiempo y ciertas medidas de optimización para satisfacer las necesidades de depuración y ajuste.

Dos, ver

1. Para saber si se ha compilado un método, puede usar el parámetro -XX: + PrintCompilation para solicitar a la máquina virtual que imprima el nombre del método que se compila en el código local durante la compilación Just-In-Time.

VM option '+PrintCompilation'

2. También podemos agregar el parámetro -XX: + PrintInlining para solicitar a la máquina virtual que genere información en línea del método

Unrecognized option: -XX:+PrintInlining
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
 

3. Acceso a adaptadores de desmontaje en varias plataformas. Para plataformas x86 de 32 bits, se deben usar adaptadores hsdis-i386, y para 64 bits, debe usarse hsdis-amd64 [ilustración]. Otros adaptadores de plataforma incluyen hsdis-sparc, hsdis- sparcv9 y hsdis-aarch64, etc., los lectores pueden descargar o compilar el adaptador de desmontaje que sea compatible con su propia máquina, y luego colocarlo en JAVA_HOME / lib / amd64 / server [ilustración], siempre que sea compatible con jvm.dll o libjvm.so La máquina virtual puede llamar a la misma ruta. Después de instalar el adaptador de desmontaje para la máquina virtual, podemos usar el parámetro -XX: + PrintAssembly para solicitar a la máquina virtual que imprima el código de ensamblaje del método de compilación

4. Sin compatibilidad con el complemento HSDIS, también puede utilizar -XX: + PrintOptoAssembly (para máquina virtual en modo servidor) o -XX: + PrintLIR (para máquina virtual en modo cliente) para generar un código intermedio más cercano al resultado final Indica que después de compilar el código que se muestra en el Listado 11-2, el resultado de salida del desensamblaje parcial (usando -XX: + PrintOptoAssembly) se muestra en el Listado 11-5. Para la lectura, la salida del resultado del pseudo ensamblaje utilizando el parámetro -XX: + PrintOptoAssembly contiene más información (principalmente comentarios), que es útil para que las personas lean y comprendan los resultados de optimización del compilador just-in-time de la máquina virtual.

Supongo que te gusta

Origin blog.csdn.net/qq_40996741/article/details/109150080
Recomendado
Clasificación