-server -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler 时使用哪个编译器
which compiler is used when -server -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler
我的 JVM 有 -server
选项,我相信它使 JVM 能够使用 C2 编译器,这意味着用于服务器应用程序,这些应用程序往往比客户端应用程序 运行 更长。但是,GRAAL JIT(由 -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler
启用)旨在替换 C2,即使我提供如下两个选项,我的 JVM 也会启动。
-server -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler
它最终使用了哪个编译器? Graal JIT 还是 C2?
那个-server
干脆就忽略了,读。你可以做的是 运行 一些额外的命令:
java -XX:+UnlockExperimentalVMOptions
-XX:+EnableJVMCI
-XX:+UseJVMCICompiler
-Dgraal.ShowConfiguration=info // this
-XX:+EagerJVMCI // and this matters
结果将包含:
Using Graal compiler configuration 'community' .....
我的 JVM 有 -server
选项,我相信它使 JVM 能够使用 C2 编译器,这意味着用于服务器应用程序,这些应用程序往往比客户端应用程序 运行 更长。但是,GRAAL JIT(由 -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler
启用)旨在替换 C2,即使我提供如下两个选项,我的 JVM 也会启动。
-server -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler
它最终使用了哪个编译器? Graal JIT 还是 C2?
那个-server
干脆就忽略了,读
java -XX:+UnlockExperimentalVMOptions
-XX:+EnableJVMCI
-XX:+UseJVMCICompiler
-Dgraal.ShowConfiguration=info // this
-XX:+EagerJVMCI // and this matters
结果将包含:
Using Graal compiler configuration 'community' .....