Valhalla Update
summary
Project Valhalla publishes an L2 EA build (jdk.java.net/valhalla) that provides usable inline classes: arrays of value types are covariant with object[], calling conventions scalarize values between methods, and the VM routinely flattens values or keeps pointers when large. New bytecodes default_value and with_field implement value construction as static factories. Early JMH-style runs show big wins (matrix ~6x, points ~3.5x, stream ~12x, immutable accumulator ~8x, allocation ~1000x). Open issues: equality semantics, locking, identity hash, weak refs, nullability and migration and specialized generics.
AI-written summary · about
chapters (11)
- 0:00Project Valhalla overview
- 0:54The problem with objects
- 3:37Who benefits from value types
- 5:53From Q-world to L-world
- 8:44Benefits and costs of L-world
- 12:04Current prototype status
- 14:01Performance benchmarks
- 18:35Programming model details
- 22:11Default values and flattening
- 25:54Generics and new types
- 29:12Nullity, equality, and wrap-up
related talks
51mValhalla - Where Are We?
52mValhalla - Where Are We?
51mProject Valhalla Update
52mValue Objects in Valhalla
51mProject Valhalla: Flat Value Types in Java
20mCache Me If You Can: Speed Up Your JVM with Project Valhalla
57mJava Value Types: what is it and why are they important
47mValue Objects - The Next Big Thing in Java
