HotSpot JVM团队正在开发极其酷的项目Graal/Truffle,它允许开发人员动态编译/注入Java,Javascript(和其他)以JVM速度运行。 问题: - OpenJ9与Graal / Truffle可以互操作吗? - 如果OMR与Graal / Truffle相似,你可以对比吗?
答案 0 :(得分:1)
有关支持Truffle API的一些信息如下: https://github.com/eclipse/openj9/issues/59
答案 1 :(得分:1)
OMR和Graal之间的比较写在这里:https://github.com/eclipse/omr/issues/1118
引用John Duimovich的话:
因此,简短的回答是Truffle / Graal正在研究使用JVM实现编程语言的研究工作。 Truffle用于通过实现AST解析器并通过Graal优化它来实现语言(跳过很多细节)。 Graal专注于代码生成,并依赖Java进行垃圾收集。您使用Java实现您的语言。由于许多目标语言使用C / C ++作为它们的实现语言,这可能是一个非首发,但也许使用TruffleC它可以直接重新编译,但我不认为这是开源的。他们有一些令人印象深刻的基准,所以那里有很酷的东西。
和
Eclipse OMR是生产就绪代码,由IBM Java使用,并尝试引导到其他语言,在Java中具有良好的基准,但对于其他语言,证据点仍在进行中,因为OMR大约1年作为开放源项目。现有的语言实现者不需要重新编写他们的C / C ++实现,因此他们可以逐步采用组件。如果您想要集成代码生成库,或者要集成一个单独的GC实现,您可以选择OMR作为模块化组件提供。
还有一些原型允许Java代码从Java驱动OMR的JITBuilder代码生成器。请参阅Mark Stoodley的JVMLS演示文稿:https://www.youtube.com/watch?v=w5rcBiOHrB0