This document proposes changes to the Java Virtual Machine Specification to support a prototype of value classes—classes for which primitive-like non-reference value instances can be created and operated on. Broad goals of these changes include: Updating the JVM type system to allow for direct value class types. This includes some incidental changes to address technical debt. Introducing the Value