GraalVM is an extension of the Java Virtual Machine[JVM] to support more languages and execution modes. The Graal project includes a new high performance Java compiler, itself called Graal, which can be used in a just-in-time configuration on the HotSpot VM, or in an ahead-of-time [AOT] configuration on the SubstrateVM.
One objective of Graal is to improve the performance of Java virtual machine-based languages to match the performance of native languages. Another goal, dubbed "Project Metropolis" or "Java-on-Java", is to implement a substitute for the substantial use of C++ within HotSpot. A third goal is to allow freeform mixing of code from any programming language in a single program, billed as "polyglot applications".
GraalVM is a universal virtual machine for running applications written in JavaScript, Python 3, Ruby, R, JVM-based languages like Java, Scala, Kotlin, and LLVM-based languages such as C and C++.
GraalVM removes the isolation between programming languages and enables interoperability in a shared runtime. It can run either standalone or in the context of OpenJDK, Node.js, Oracle Database, or MySQL.