“GraalVM 20.2”, Java virtual machine that runs multiple languages and libraries

August 18, the developer team of “GraalVM”, a runtime for Java, announce the latest stable release “GraalVM 20.2”.

GraalVM is an open-source virtual machine developed by Oracle. It can run LLVM based languages like Java, JavaScript, C, and C++, and other languages like R and Python. It features advanced optimizing compiler that brings high performance, and Ahead-of-Time compiler. It provides a set of tools supporting debugging, monitoring, profiling, and resource optimization.

GraalVM is distributed as the Community Edition and the Enterprise Edition. They consist of Java runtime with the GraalVM compiler, Node.js runtime with the GraalVM JavaScript interpreter, LLVM bitcode runtime, and more.

GraalVM 20.2 is the latest version of the 20 series, rolled out in February. The Community Edition is based on OpenJDK version 1.8.0_262 and OpenJDK version 11.0.8, and the Enterprise Edition is based on Oracle JDK version 1.8.0_261 and Oracle JDK version 11.0.8.0.2.

It is added with the ability to release the memory used by libgraal to the OS when an application enters a stable phase and goes idle. This is achieved by attaching each compiler to a libgraal isolate. Compiler threads that can be attached to an isolate are controlled by the jvmci.ThreadsPerNativeLibraryRuntime system property. It can reduce the RSS memory footprint.

It has improved the error reporting with libgraal. For certain programs, excessive compile time is improved.

In regards to Native Image, generation of native images statically linked against music is improved. It is added with an option to create “mostly static” native images which link statically everything except libc. -H:+RemoveSaturatedTypeFlows is enabled by default.

This release also adds updates to language and tool implementers, and Polyglot Embedders.

GraalVM
https://www.graalvm.org/