Java 10 - JIT-compiler
JEP 317 − Experimentele op Java gebaseerde JIT-compiler
JIT-compiler is geschreven in C++ en wordt gebruikt om Java om te zetten in bytecode. Nu heeft Java 10 de mogelijkheid om een experimentele op Java gebaseerde JIT-compiler, Graal, in te schakelen in plaats van de standaard JIT-compiler. Graal gebruikt JVMCI, JVM Compiler Interface die werd geïntroduceerd in Java 9. Graal is ook beschikbaar in Java 9. Met Java 10 kunnen we Graal in staat stellen om de experimentele JVM-compiler te testen en te debuggen.
Syntaxis
java -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler
Graal-compiler is een volledige herschrijving van een op C++ gebaseerde eerdere compiler en is bedoeld voor een op Linux/x64 gebaseerd platform. Graal werd geïntroduceerd in Java 9 als alternatief voor de JIT-compiler die momenteel in gebruik is. Graal is een plug-in voor JVM en kan dynamisch worden ingeplugd. Het ondersteunt ook polyglottaalinterpretatie.
Risico's en veronderstellingen
Omdat Graal experimenteel is en onderhevig is aan testinspanningen, rekening houdend met verschillende Hotspots en jdk-tests met verschillende vlagopties. Het kan sommige benchmarks voor prestaties mislukken in vergelijking met standaard JIT Ahead of Time-compilers.
Java