----- Mail original -----
> De: "Brian Goetz" <brian.go...@oracle.com>
> À: "Remi Forax" <fo...@univ-mlv.fr>
> Cc: "daniel smith" <daniel.sm...@oracle.com>, "Daniel Heidinga"
> <daniel_heidi...@ca.ibm.com>, "valhalla-spec-experts"
> Envoyé: Mercredi 7 Mars 2018 19:28:00
> Objet: Re: CONSTANT_Dynamic bootstrap signature restriction
>> Daniel (S), Brian,
>> i think your view on this subject is biased by the fact that you built that
> I can understand why you'd think that, but allow me to correct. My view
> is biased by the fact that I built the _first_ such library, and it was
> pretty annoying, and I want to save future programmers from this
> unnecessary annoyance. And that we're working on language support that
> virtually guarantees that others will want to write similar Java
> libraries. If this were just about compilers emitting bytecode, I
> wouldn't care.
Sure, javac support will help to have new users for condy but given the number
people that have reviewed this API, it doesn't seem too popular,
btw doing a proper review is on my todo list.
Anyway, if you want to get ride of the first 3 parameters, you can trampoline,
i.e having only one BSM that takes as first constant argument a method handle
that construct the constants with fewer arguments and just call it. It's what
i've done for the first version of cplisp . Obviously it's not great in term
of security so you also need to check that the given method handle had really
been constructed from the lookup using lookup.revealDirect.
>> And i will re-use the argument than Brian use rightly about java.lang.invoke,
>> not a lot of people will write BSMs, so modifying an already complex API call
>> (callsite info * lazy loading of constants * conversion of bsm arguments *
>> varargs) to take care of hiding potentially unused arguments only for few
>> does not worth the added complexity.
> I am saying that I imagine a future where the number of people writing
> BSMs for condy is at least 100x bigger than it has been historically.
> Again, if I thought this was just about me and you and Charlie, I
> wouldn't care. But I don't think that's the case here.
I can imagine a lot of things, but we can also wait and see if the API becomes
popular now that we are in a 6 month cadence.