首页 > 解决方案 > GraalVM 作为 ARM JRE 的 JIT 编译器

问题描述

有人知道 GraalVM 是否可以用作 ARM 架构的 OpenJDK 发行版中的 JIT 编译器?

graalVM github 上可用的版本精确 AMD 架构和 github ARM 相关问题与本机映像创建有关(因此 AOT 编译器用于 ARM)。也许还有一个问题:如果他们成功地为 arm 创建原生映像,是否意味着 GraalVM 也可以作为 arm 的 JIT 编译器使用?或者这两件事是独立的?我从编译器生态系统开始 :)

非常感谢您的回答。

标签: javagraalvm

解决方案


编辑:我忘了,请参阅 Jorn Vernees 的回答,OpenJDK 11 已经包含 Graal JIT。

Graal JIT 编译器也可以在 ARM 上运行,并且可以与 OpenJDK 一起使用。它不适用于 OpenJDK 8。OpenJDK 9 和 10 可能有效。我建议将它与 OpenJDK 11 一起使用(例如,采用openjdk)。Truffle 语言(Javascript、Python 等)在此架构上未经测试。让 graal JIT 在 AArch64 上运行以从源代码构建它的最简单方法:

另请参阅自述文件

export JAVA_HOME=/path/to/jdk-11
git clone https://github.com/oracle/graal.git
git clone https://github.com/graalvm/mx.git
export PATH=$(pwd)/mx:$PATH
cd graal/compiler
mx build
mx vm -cp test.jar org.something.Main

为了查看使用 graal JIT 运行 java 所需的完整命令行,您可以运行mx -v vm -cp test.jar org.something.Main.

关于你的第二个问题:恰恰相反。JIT 编译器已经存在,现在我们正在努力native-image为 AArch64 提供可用的功能。

我希望这回答了你的问题。

斯特凡


推荐阅读