JVM Language Summit 2017
2017-07-31..2017-08-02
Santa Clara, United States
[JVM Language Summit 2012, JVM Language Summit 2015, JVM Language Summit 2017, JVM Language Summit 2018, JVM Language Summit 2019, JVM Language Summit 2023, JVM Language Summit 2024, JVM Language Summit 2025]
who it's for
language implementers, virtual machine engineers, compiler engineers, language designers, runtime engineers, platform architects, tooling and build engineers, performance engineers
topics
pattern matching implementation with invokeDynamic; Kotlin coroutines and suspend protocol; ahead-of-time native image compilation; Graal LLVM bitcode (Project Sulong); minimal value types (Valhalla prototypes); vector API and typed vector kernels; Java 9 modularity and AOT compiler; JVM confinement and frozen arrays; Alibaba JVM optimizations and tenant containers; strict IEEE floating point on the JVM; V8 integration as a script engine (JNI/Panama); probabilistic profiling and AOT internals
| title | author | length |
|---|---|---|
| Pattern Matching | Brian Goetz | 54m |
Proposes encoding deconstructors as class members implemented as method handle tuples so common cases (instanceof + field access) are allocation free and… | ||
| Overview of the Java Platform: Java 9, Java + Docker, and JVM Languages | Bernard Traversat | 18m |
Java 9 introduces modularization to encapsulate internal APIs and let runtimes be customized down to what an app needs, promising smaller footprints and better… | ||
| Polyglot Native: Java, Scala, Kotlin, and JVM languages | Christian Wimmer | 43m |
Claims an ahead-of-time compiler plus a low-footprint VM that turns Java bytecode (Java, Kotlin, Scala) and C into one native executable using the native Image… | ||
| Optimizing JVM at Alibaba, for e-commerce apps running on 100,000+ servers | San Hong Li | 44m |
Alibaba runs 175,000 TPS on 11.11 traffic and uses a customized OpenJDK AGGDK (custom OpenJDK) that implements three concrete changes: tenant containers that… | ||
| Kotlin Coroutines Reloaded | Roman Elizarov | 47m |
Kotlin rewrites coroutines to avoid rare synchronous callback recursion bugs by changing the suspend protocol: a call either returns the result or the… | ||
| Native Script Engine or Go Panama | Jim Laskey | 47m |
Prototype integrates V8 as a javax.script sibling to Nashorn using V8 via JNI, showing concrete wins: startup is ~2× faster than Rhino and ~30% faster than… | ||
| Confinement in the JVM | John Rose | 51m |
Defines confinement as a runtime-enforced boundary that blocks unexpected causes, and proposes concrete changes: frozen arrays that throw on writes, an assert… | ||
| Programming with Minimal Values | Maurizio Cimadamore | 46m |
Minimal Value Types are a VM-first experiment that lets the JVM derive flattened runtime types from an ordinary annotated POJO via a value capable class… | ||
| Project Sulong: an LLVM bitcode interpreter on the Graal VM | Matthias Grimmer | 43m |
Project Sulong runs LLVM IR on the Graal VM via Truffle and the Graal compiler, interpreting LLVM bitcode interpreter and compiling hot functions to machine… | ||
| Forward to the Past: The Case for Uniformly Strict Floating Point Arithmetic on the JVM | Joe Darcy | 47m |
Argues for restoring always-strict IEEE floating-point semantics via JEP 306, demonstrating a concrete double-rounding bug on x87 vs SSE by constructing a pair… | ||
| Ahead Of Time (AOT) Internals | Vladimir Kozlov, Igor Veresov | 46m |
Experimental AOT produces shared native .so libraries using Graal as the compiler, supports up to 16 parallel compilation threads, and typically needs ~2,000… | ||
| Vectors and Values | Vladimir Ivanov, Ian Graves | 46m |
A working Vector API prototype lives in the Panama repo that uses typed vectors, a raw/typed separation, and an expression-tree builder to produce… | ||
| ThreadSanitizer and Heap Sampling | Jaeheon Yi, Jean Christophe Beyler | 48m |
Integrates ThreadSanitizer into the JVM so the runtime sees Java and JNI synchronization, uses vector clocks to report no false positives, tracks field… | ||
| Constants in Amber | Vicente Romero, Paul Sandoz | 46m |
Adds a new constant pool entry, ConstantDynamic (tag 17), that lets a bootstrap method return any constant so ldc or bootstrap static args can represent values… | ||
| Frontiers of Access Controls: Modules and Nestmates | Karen Kinnear | 47m |
Java SE 9 implements a module system that enforces type accessibility by checking module reads + exports checked at runtime during bytecode resolution and… | ||
| Reducing Object Adaptation | Rémi Forax | 46m |
Mjolnir implements a runtime technique that exposes dynamic-language objects to Java with zero adaptation overhead by rewriting calls into invokedynamic-like… | ||
| Minimal Values Under the Hood | Bjorn Vardal, Frédéric Parain | 45m |
An experimental JVM prototype implements value-capable classes derived at load time via bytecode generation and MethodHandles, producing flattened instances… | ||
| Lightning Talk: sjava Demo | Tom Bousso | 10m |
sJava implements static s expressions for Java and compiles them away so runtime code is normal Java; a hello world example runs and prints hello world. It… | ||
| Lightweight Relations | Michael Steindorfer | 34m |
Presents a type-safe hybrid hash map/multi-map (a shallow prefix tree with per-slot two‑bit bitmaps and compacted type slices) that stores keys and either… | ||
| Lightning Talk: Continuations & Filters | Ron Pressler | 05m |
Proposal adds delimited continuation support directly to HotSpot so userland code implements a Java Fiber class that behaves like a thread but is scheduled by… | ||
| Lightning Talk: A Quick Intro to Falcon | Philip Reames | 06m |
A new JIT called Falcon ships in the commercial Zing VM and aims to replace C2, compiling Java bytecode and reusing the LLVM toolchain. Benchmarks show Falcon… | ||
| nothing matches | ||