On Mar 31, 2017, at 5:00 PM, John Rose <john.r.r...@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.