是否可以使用pypy将Java字节码编译为本机代码?

时间:2012-02-27 18:12:53

标签: jvm pypy

pypy目前使用Pluggable JIT和GC将Rpython转换为Native代码。目前它有一个Python前端。我想知道是否有可能编写Java Bytecode前端来制作一个替代的酷JVM(用(R)Python编写)

1 个答案:

答案 0 :(得分:3)

Java字节码的RPython解释器不是Java字节码到本机代码的编译器。 RPython代码被编译为本机代码,而不是解释器正在解释的代码。

在运行时(某些),解释的代码将被JIT编译为本机代码,但这完全不同,并且HotSpot VM已经执行此操作。鉴于HotSpot已经开发了很长一段时间,背后有严重的资源,并专门针对Java进行了调整,我怀疑你可以得到任何与PyPy一样好的东西。

PyPy的优势在于您可以将垃圾收集器和JIT编译器之类的东西编写为一个独立于您正在解释的 的框架。然后很多人可以为很多语言编写大量的解释器,并以相当高级易于编码的方式编写它们,但它们仍然可以获得高质量的GC,JIT编译器等,而无需专门为它们实现它们。每种语言。 PyPy不太可能是现有项目的合理替代方案,该项目已经投入大量资源来开发专门针对其语言进行调整的高度优化的GC和JIT编译器。