Valhalla EG minutes 6/21/17

John Rose john.r.rose at oracle.com
Wed Jul 19 21:43:07 UTC 2017


On Jul 12, 2017, at 11:10 AM, Karen Kinnear <karen.kinnear at oracle.com> wrote:
> 
> 
> And if I understand the proposal correctly, we are replacing constant pool patching
> with Lookup.getConstant() with a private Lookup, which uses an ldc of condy underneath,
> so essentially the BSM is filling in new types in the condy constant pool entries. 
> 

That's not quite right.  The Lookup.getConstant almost certainly won't
look in the constant pool.  (It could but there are about ten cleaner
ways to do it.)  The trick is carrying a single pointer supplied by the
user from the Lookup.defineClass call, through (or past) the VM class
loading mechanisms, and into a place where Lookup.getConstant
can find it.  My preference would be an extra injected field in the
java.lang.Class mirror for the loaded class, as if it were a static
final field, but without the extra stuff that gives it a name.  The type
would *always* be java.lang.Object.

— John


More information about the valhalla-spec-observers mailing list