One VM to Rule Them All? Lessons Learned with Truffle and Graal
summary
Goldman Sachs ports a 25‑year in‑house language with 150 million lines to Truffle/Graal, building an LLVM bridge that compiles a small C++ proxy to bitcode and uses the polyglot API for zero‑overhead interop where possible. The prototype runs Slang code, exposes variables as Truffle objects, and ties into the Graal profiler and debugger, but cross‑boundary calls are currently an order‑of‑magnitude slower and GDB/Seulong debugging gaps remain; performance gains require moving more primitives into Truffle.
AI-written summary · about
chapters (22)
- 0:00Intro
- 1:36Why we have our own programming language
- 2:47Perl
- 2:59Visual Basic
- 3:17Programming Language
- 3:45Slang
- 4:34Hello World
- 8:23Challenges
- 10:35Goals
- 13:28Why Truffle
- 15:51The Two Approaches
- 17:41The Incremental Approach
- 19:44The Variables
- 23:52The eval code
- 25:58Evaluation criteria
- 28:06The good
- 30:12Slang debugger
- 33:18Seulong debugger
- 34:34Oracle support
- 36:30Whats next
- 38:55Summary
- 40:23Next Steps
related talks
52mPolyglot on the JVM with Graal: One VM for Java, node.js, Ruby, R, and C++!
50mOne VM to Rule Them All
47mPolyglot Done Right with GraalVM
01h 19mTowards the tower of Babel: a Polyglot Language VM in Java
48mOne VM To Rule Them All
31mSimplifying and Optimizing Life on the Edge with Graal
59mSupercompilation, Partial Evaluation, Futamura Projections and How GraalVM Will Save the World
20mGraalVM: Run Programs Faster Anywhere
