Jabel — how I gutted the Java compiler
summary
Overview of how the OpenJDK javac compiler handles new Java language features and why javac refuses to emit newer syntax targeting older bytecode versions. Describes the internals of javac, its plugin mechanism, and how the Jabel tool rewrites or transforms newer syntax (var, switch expressions, text blocks, diamond/abstract-class improvements) so code can use modern Java syntax while remaining bytecode-compatible with Java 8.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 2:26How compilers work
- 13:57What is Jabel
- 25:56Java syntactic sugar
- 36:26Jabel breaks the compiler
- 49:03Integrating Jabel
- 56:21Records and Jabel
- 1:00:13Q&A
related talks
53mWell there's your problem! Your engine's missing! A look under Java's hood
43mThe Virtual Machine Under the Hood
32mUnveiling the Hidden Layers of Java Class Files Beyond Bytecode
50mJDK 9 Language, Tooling, and Library Features
42mEnhancing Productivity and Insight: A Tour of JDK Tools Progress Beyond Java 17
45mJava - Quo Vadis?
39mBytecode Pattern Matching
46mWhere is the Java language going?
