如何将 LLVM 集成到 JVM 运行时

How to integrate LLVM to JVM Runtime

是否可以将 LLVM 与 JVM 运行时集成。 我对这个性能优化很感兴趣 Azul Zing 已经做到了,但可以使用 Oracle 的 JVM 或 OpenJDK 来做到这一点?

您只需开始 studying/using 圣杯 vm

Universal VM for a polyglot world. Our mission: Make development more productive and run programs faster anywhere.

(不要与 graal compiler 混淆,这是一个 java-to-native 编译器,自 Java 9 以来它已经随 JDK 一起提供)

换句话说:我们已经在行动了。

您不太可能将 LLVM 与 OpenJDK 或 Oracle JDK 集成。 (从技术角度来看,OpenJDK 或 Oracle JDK 几乎是一样的东西。)

您需要重复 Azul 团队为使他们基于 LLVM 的编译器与 JVM 一起工作而完成的所有开发工作。这对你来说不太可能实用。

I am interested in this perf optimization Azul Zing already does that but is possible to do it with Oracle's JVM or OpenJDK ?

可能1 通过修改现有的 OpenJDK 代码库来实施这些优化。

GraalVM looks like another option. (What GhostCat didn't mention in his 是GraalVM支持基于LLVM的编译器。因此,如果您有用于 Java 的基于 LLVM 的编译器,您可以将其用作优化器工作的基础。)


1 - 目前尚不清楚 Azul 采用 LLVM 方法是出于技术原因,还是出于许可原因,或两者兼而有之。如果他们采取修改OpenJDK JIT编译器的方式,他们将不得不公开他们的源代码。