Java 10 - Compilador JIT
JEP 317 - Compilador JIT Experimental Baseado em Java
O compilador JIT é escrito em C++ e é usado para converter Java em Byte Code. Agora o Java 10 tem a opção de habilitar um compilador JIT experimental baseado em Java, Graal para ser usado em vez do compilador JIT padrão. Graal está usando JVMCI, JVM Compiler Interface que foi introduzida no Java 9. Graal também está disponível no Java 9. Com o Java 10, podemos habilitar o Graal para testar e depurar o compilador JVM experimental.
Sintaxe
java -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler
O compilador Graal é uma reescrita completa do compilador anterior baseado em C++ e é direcionado para plataforma baseada em Linux/x64. Graal foi introduzido no Java 9 como uma alternativa ao compilador JIT atualmente em uso. Graal é um plugin para JVM e pode ser conectado dinamicamente. Ele também suporta interpretação de linguagem poliglota.
Riscos e suposições
Como o Graal é experimental e está sujeito a esforços de teste, considerando vários Hotspots e testes de jdk com várias opções de sinalizadores. Pode falhar alguns benchmarks de desempenho em comparação com compiladores JIT Ahead of Time padrão.
Java