【发布时间】:2011-10-18 04:53:03
【问题描述】:
有没有办法对 Java 即时编译器生成的本机代码进行汇编转储?
还有一个相关的问题:有没有什么方法可以在不运行 JVM 的情况下使用 JIT 编译器将我的代码编译为本机机器码?
【问题讨论】:
-
异端!不,开个玩笑。有趣的问题! +1
-
如何访问这个“即时”编译的代码?因为它是在运行时动态完成的,所以我想知道您如何访问它以对其进行程序集转储...
-
您的第一个问题很奇怪,但第二个问题建议您应该对该主题进行一些阅读。根据定义,JIT 编译依赖于仅在运行时可用的信息,因此就像您在询问是否有任何方法可以使用 MP3 编码器对歌曲进行编码,而无需先进行录制。
-
gdb适用于调试到 HotSpot。您可能想要生成 OpenJDK 的调试版本,它会比它更容易一些。至于您的第二个问题 - 周围有几个 Java AOT 编译器。比如gcj可以将字节码编译成native。
标签: java compiler-construction jvm jit