Legacy Valhalla Links
This page preserves the history of earlier work in the Valhalla project, much of which has been superseded. See the main project page for an overview of active work.
JEPs
-
JEP 169: Larval State for Value Objects envisioned an alternate instance creation model in which value objects were mutable until explicitly “frozen”
-
JEP 218: Generics Over Primitive Types considered different strategies for achieving runtime specialization of generic bytecode
-
JEP 303: Intrinsics for the LDC and INVOKEDYNAMIC Instructions explored Java language changes to directly work with the
CONSTANT_Dynamic
andCONSTANT_InvokeDynamic
constant pool forms
Documents
-
State of the Values (April 2014)
-
ClassDynamic (June 2014)
-
State of the Specialization (December 2014)
-
Minimal Value Types (August 2016)
-
A Universal Carrier in the JVM (January 2017)
-
Template Classes (November 2017)
-
Value Type Hygiene (May 2018)
Presentations
-
John Rose & Brian Goetz: Evolving the JVM (July 2014)
-
Brian Goetz: Adventures on the Road to Valhalla (August 2015)
-
John Rose: New Bytecodes, New Objects (August 2015)
-
Brian Goetz: Adventures in Parametric Polymorphism (August 2016)
-
Maurizio Cimadamore: Valhalla Reflection (August 2016)
-
Maurizio Cimadamore: Minimal Value Types (July 2017)
-
Frédéric Parain & Bjørn Vårdal: Minimal Values Under the Hood (August 2017)
-
David Simms & Tobi Ajila: LWorld, the Next Steps (July 2018)
-
Dan Heidinga & Paul Sandoz:
CONSTANT_Dynamic
, Oxymoron or Powerful New Tool (July 2018) -
Karen Kinnear: Nestmates, a Case Study (July 2018)
-
Brian Goetz: Project Valhalla, 2019 Edition (July 2019)