VM model and aconst_init

John Rose john.r.rose at oracle.com
Wed Jan 19 08:46:21 UTC 2022


On 12 Jan 2022, at 5:14, forax at univ-mlv.fr wrote:

> Ok, but in that case how the verifiers know if aconst_init generate a 
> Q-type or a L-type given that aconst_init takes a CONSTANT_CLASS and 
> not a descriptor as parameter.

In the terms of my previous message, the `CONSTANT_Class` item
in the CP must be “modal”, refer to either an L-type or Q-type.
That’s true whether it is the direct operand of `aconst_init`
or a sub-operand of `withfield`.

All of this (about pervasive use of bimodal `C_Class` items) is
hard to avoid.  I would have preferred to say that `C_Class` items
are always for L-types, but that runs afoul of other requirements,
notably that Point.class be the mirror for Q-Point not L-Point
if Point is a B3-capable class.


More information about the valhalla-spec-observers mailing list