Revised JEP and JVMS: Flattened Heap Layouts for Value Objects

Dan Smith daniel.smith at oracle.com
Wed May 3 02:06:08 UTC 2023


JEP 401 has been updated to reflect our most recent discussions about deriving flattening from nullness and value class properties. Now calling this feature "Flattened Heap Layouts for Value Objects".

https://openjdk.org/jeps/401

I've also put together a revised JVMS document to specify the needed JVM attributes.

https://cr.openjdk.org/~dlsmith/jep401/jep401-20230428/specs/flattened-heap-jvms.html

This approach to the JVM avoids any use of 'Q' types in class files, which we decided had too much overhead for our limited needs.

At this stage, there's no JVMS feature to support flattened array creation. Instead, these are created by passing Class objects representing null-restricted types to the 'Array.newInstance' methods.



More information about the valhalla-spec-observers mailing list