web-dev-qa-db-ja.com

Java 9にはGraalが含まれていますか?

私は読んでいます JEP 317 。 Graal(新しい実験的なJavaベースのJITコンパイラ)はJDK 10の一部になると書かれていますが、それはJDK 9ですでに利用可能であると書かれています。では、JEP317のポイントは何でしょうか。 Java 9にはGraalが含まれていますか?

17
ZhekaKozlov

私のメモの1つから、Linux-x64(すぐに使用可能)でJDK 9でGraalを使用するには、次を使用して有効にすることができます。

-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler

ソースクリスからのツイート


org.graalvm.*クラスを明示的に使用する場合は、 ここではLinuxディストリビューションJEP-317)を除いて、JDK-9ビルドには存在しません。 #Experimental JavaベースのJITコンパイラ のステータスも同様のものを読み取ります。

Status    Integrated
Scope JDK
Release   10

Update:-JDK10でGraalを使用するには、次を使用して有効にすることができます:-

-XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler -Djvmci.Compiler=graal
19
Naman

Graalは9に含まれていますが、使用方法が異なります。

In Java 9 GraalはAOT(Ahead of time)コンパイラとして使用され、ユーザーはjaotcツールを使用して手動でコンパイルされた.soライブラリを作成できます。

これらのライブラリは、JVMの起動時にロードして直接使用できます。

詳細な説明は、関連するJava 9 JEP: http://openjdk.Java.net/jeps/295

In Java 10 Graalは、JEP 317で説明されているように、HotSpotの代わりにJITコンパイラとして使用できます。

これは、事前に手動でコンパイルする必要がなく、クラスが「オンザフライ」でJVMでコンパイルされることを意味します。

2
Giorgos Gaganis