What's in a CONSTANT_Class?

Karen Kinnear karen.kinnear at oracle.com
Wed Jun 14 15:54:07 UTC 2017

Update from hotspot implementation:

We would like to request that for the MVT Early Access we keep the TEMPORARY CONSTANT_Class_info “;Q<name>”.

This is far easier for us to implement (we have a prototype in progress) and we believe that it will be easier
for bytecode generators to adopt - which will allow us to get more people trying MVT so we get more feedback.

We would also like to keep the explicit separate name for the derived value class, so that from an implementation
standpoint we are able to continue to use the name, class loader pair as a unique lookup.
So the JVMS as proposed explicitly calls out 5.3 Creation and Loading that the derived value class has the name ClassName$Value.

For Early Access we would like to keep this naming convention, stable across reboots, so people can generate byte codes
that reference value types by name distinctly from their value capable class.


p.s. this will allow us time to do the longer-term exploration of where the class/type/constant pool forms should evolve

More information about the valhalla-spec-observers mailing list