Is this part of the JVM Specification, or is this an implementation detail of OpenJDK itself? If the first, thats sort of surprising. Seems like an implementation detail that'd be best left up to the platform on how to manage objects in memory.
This document is a proposal for the HotSpot JVM, which is the default JVM implementation (the one that ships with OpenJDK), but not the only JVM implementation out there (see https://en.wikipedia.org/wiki/List_of_Java_virtual_machines for a full list).
The JEP identifies the scope as "implementation" and the component as "hotspot/runtime", so I do assume it's an implementation detail, yes.
This is an implementation detail of the HotSpot JIT compiler in OpenJDK. Other implementations are free to layout their objects as they choose.