代码之家  ›  专栏  ›  技术社区  ›  Hristo Stoyanov

OpenJ9和Project Graal/Truffle

  •  0
  • Hristo Stoyanov  · 技术社区  · 7 年前

    Graal/Truffle ,它允许开发人员动态编译/注入Java、Javascript(和其他)以JVM速度运行。 问题: -OpenJ9是否可以与Graal/Truffle互操作? -如果OMR与Graal/Truffle相似,你能对比一下吗?

    2 回复  |  直到 6 年前
        1
  •  1
  •   Ashutosh    7 年前

    以下是关于支持块菌API的一些信息: https://github.com/eclipse/openj9/issues/59

        2
  •  1
  •   Dan Heidinga    7 年前

    OMR和Graal之间的比较如下: https://github.com/eclipse/omr/issues/1118

    引用约翰·杜伊莫维奇在该期中的话:

    因此,简单的回答是,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

    推荐文章