是否可以查看JVM热点编译器生成的机器代码?

时间:2014-07-12 23:44:49

标签: java bytecode machine-code

我想知道,是否可以了解HotSpot编译器在编译给定的Java字节码类或方法时生成的实际机器代码?

1 个答案:

答案 0 :(得分:10)

是的,使用-XX:+UnlockDiagnosticVMOptions -XX:+PrintAssembly,Hotspot VM可以在实际执行(编译)给定的字节码方法时为您提供该信息。

有关详细信息,请参阅示例HotSpotInternals Wiki:Print Assembly。它需要一个反汇编程序模块(Windows上的hsdis - * .dll)。

使用JITWatch会更舒服(但它使用的是HotSpot中的相同基础架构)。