Valhalla EG minutes 6/21/17

Remi Forax forax at univ-mlv.fr
Thu Jul 6 20:12:30 UTC 2017



----- Mail original -----
> De: "Paul Sandoz" <paul.sandoz at oracle.com>
> À: "John Rose" <john.r.rose at oracle.com>
> Cc: valhalla-spec-experts at openjdk.java.net
> Envoyé: Jeudi 6 Juillet 2017 22:02:39
> Objet: Re: Valhalla EG minutes 6/21/17

> In terms of what we have today we could easily do:
> 
>  // lookup must have private access to the lookup class, which becomes the “host”
>  class
>  Class<?> defineAnonymousClass(byte[] data)
> 
> is that ending gaining too much?
> 
> That still leaves the possibility of another method in the future say:
> 
>  Class<?> defineClass(boolean isAnon, byte[] data, Object constant)
> 
> That’s a little fuzzy since it’s not clear to me how the generated class locates
> the constant (synthetic static final field of known name? substitute the last
> entry in the CP if appropriately defined in the class bytes as substitutable?).

Lookup.getConstant() with a private Lookup ?

> 
> Paul.

Rémi

> 
>> On 5 Jul 2017, at 11:43, John Rose <john.r.rose at oracle.com> wrote:
>> 
>> On Jul 5, 2017, at 11:39 AM, Paul Sandoz <paul.sandoz at oracle.com> wrote:
>>> 
>>> 
>>> I was unsure if we require a new method L.defineAnonClass or could leverage the
>>> existing L.defineClass. IIUC for expediency the current hooks in the VM lean
>>> towards anon classes, since there is already code to defer to the host class,
>>> whereas the general defineClass case will likely require more work, although i
>>> can potentially see some short cuts if we focus on VCC/DVT.
>>> 
>> 
>> Good point.  Yes, that part isn't designed yet.  It may manifest as an extra
>> argument or two to the L.dC.
>> 
>> At least two degrees of freedom apply there:  1. suppressing the name (no system
>> dictionary update),
>> 2. providing some sort of "user data" to bind to the class (can be a single
>> ref.,  replaces CP patching).
>> 
>> For MVT we can just generate a throwaway name, like DVT.getName()+":29348".
>> 
> > — John


More information about the valhalla-spec-observers mailing list