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

pldi-2017-workshops-and-tutorials
09:00 - 10:00: PLDI Tutorials - Graal: High Performance Compilation for Managed Languages at Vertex WS208
pldi-2017-workshops-and-tutorials09:00 - 10:00
Other
pldi-2017-workshops-and-tutorials
10:30 - 12:10: PLDI Tutorials - Graal: High Performance Compilation for Managed Languages (cont'd) at Vertex WS208
pldi-2017-workshops-and-tutorials10:30 - 12:10
Other