How GraalVM Executes Languages
Turning the JVM into a Polyglot VM with Graal with Chris Seaton
Polyglot Overview and Demo
One VM to Rule Them All by Thomas Wuerthinger
An overview presentation of GraalVM including a demonstration of polyglot capabilities and the abilities to improve Java performance and footprint.
Polyglot Native: Java, Scala, Kotlin, and JVM languages with Christian Wimmer
GraalVM can create native images for JVM-based applications, even mixing different languages like Java, Scala, or Kotlin in a single image. This presentation gives an overview of how image generation in GraalVM work and demonstrates how this can be used for obtaining low footprint and fast startup for JVM-based languages.
GraalVM in the Oracle Database
Theory How GraalVM Executes Languages
Practical Partial Evaluation for High-Performance Dynamic Language Runtimes by Thomas Wuerthinger
This video gives a deep dive into the theory behind GraalVM. It summarizes the research paper Practical Partial Evaluation for High-performance Dynamic Language Runtimes about how high-perforamnce machine code is derived from interpreter definitions. This approach allows GraalVM minimize the effort for each individual language and keeps the core of GraalVM completely language-agnostic.
How to Build Your Own Language Implementation with GraalVM
One VM to Rule Them All, One VM to Bind Them by Christian Wimmer
GraalVM Compiler Tutorial
The GraalVM compiler ensures that all our languages run at full speed. It is a dynamic compiler for Java written in Java with a clean API that separates the compiler from the VM.
This tutorial is for compiler engineers who want to learn more about GraalVM and,
due to its volume, recorded in two parts. It introduces the GraalVM intermediate
representation and its basic properties, instructions, and optimization phases.
The tutorial also delves into first-class support for speculative optimizations
and deoptimization, snippets (expressing high-level semantics in low-level Java
code), and intrinsics (using all hardware instructions with Graal).