Value Type on stack in the interpreter
john.r.rose at oracle.com
Sat Apr 1 00:03:39 UTC 2017
On Mar 31, 2017, at 5:00 PM, John Rose <john.r.rose at oracle.com> wrote:
> There are two choices: 1. store the type metadata in the carrier (on stack and in local),
> or 2. reaffirm the type metadata at every use site (not just vload/vstore). #1 allows
> simpler bytecodes which put less load on the verifier. A significant subset of #2
> is needed, anyway, for telling the GC where to find object references. So #2 wins.
P.S. And that's before we get into layout-polymorphic generics and type variables
that include Q-values. Those also require the robust carrier type of #2. Option #1
was always a mirage.
More information about the valhalla-spec-observers