JVMS draft proposal for LW2
frederic.parain at oracle.com
Wed Oct 10 13:51:55 UTC 2018
Here’s a proposal of a JVMS draft to move from the
LW1/container model to LW2, based on the discussions
we had during the Valhalla offsite in Burlington.
This is a very rough draft, trying to introduce the notions
of nullable and null-free value types. This change is more
difficult to specify than expected. If the notion of reference
is already defined in the JVMS, the distinction between
reference and type is not always very clean, which makes
harder to distinct the type of the reference from the type of
the instance pointed by the reference.
Several new concepts have been defined in this draft:
nullable type, null-free-type, type descriptor, fundamental
type. Their application across the JVMS s not consistent yet,
but it is likely to be future work to clean up the JVMS once
the right set of new concepts have been defined.
Some concepts from LW1 have been removed: the ValueTypes
attribute and the value types consistency checks.
Q-signatures have been added back, but are slightly different
in meaning than their first version from vbytecodes/MVT.
This is a document aiming at clarifying the path toward LW2,
and enable engineering teams to start prototyping. It is still
incomplete and many questions are still unanswered. So,
it’s more a support for discussion and exploration rather
than a proposal for a full LW2 specification.
More information about the valhalla-spec-observers