Write a Blog >>

This tutorial presents Graal, a high-performance dynamic compiler written in Java. Because it is highly configurable and extensible, it delivers excellent peak performance for a diverse set of managed languages including Java (beating the Java HotSpot server compiler), JavaScript (beating the V8 Crankshaft compiler), Ruby, and R. This lifts compiler research using Graal to a new level: researchers can evaluate new compiler optimizations immediately on many languages. If you are a language implementer who is curious how modern VMs like the Java HotSpot VM or the V8 JavaScript VM optimize your code, you will get all your questions answered too.

In detail, the tutorial covers the following topics:

  • Key distinguishing features of Graal,
  • Introduction to the Graal IR: basic properties, instructions, and optimization phases
  • Speculative optimizations: first-class support for optimistic optimizations and deoptimization
  • Graal API: separation of the compiler from the VM
  • Snippets: expressing high-level semantics in low-level Java code
  • Compiler intrinsics: use all your hardware instructions with Graal
  • Using Graal for static analysis
  • Custom compilations with Graal: integration of the compiler with an application or library
  • Graal as a compiler for dynamic programming languages

Fri 23 Jun

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

09:00 - 10:00
Graal: High Performance Compilation for Managed LanguagesPLDI Tutorials at Vertex WS208
09:00
60m
Other
Graal: High Performance Compilation for Managed Languages
PLDI Tutorials
10:30 - 12:10
Graal: High Performance Compilation for Managed Languages (cont'd)PLDI Tutorials at Vertex WS208
10:30
1h40m
Other
Graal: High Performance Compilation for Managed Languages
PLDI Tutorials