RFR 8199875: Require first parameter type of a condy bootstrap to be Lookup
John Rose
john.r.rose at oracle.com
Sat Apr 7 05:32:38 UTC 2018
Reviewed; it's good.
The javadoc text doesn't need to predict the future; it just needs to document
the present specification. So the sentence that begins "This constraint allows for
the future possibility…" is not really necessary. It's certainly not normative.
— John
On Apr 6, 2018, at 5:15 PM, Paul Sandoz <paul.sandoz at oracle.com> wrote:
>
> Hi,
>
> Please review this patch to constrain constant dynamic bootstrap methods to methods whose first parameter type is MethodHandles.Lookup.
>
> http://cr.openjdk.java.net/~psandoz/jdk/JDK-8199875-condy-bsm-lookup/webrev/ <http://cr.openjdk.java.net/~psandoz/jdk/JDK-8199875-condy-bsm-lookup/webrev/>
>
> We are conservatively diverging from invoke dynamic bootstrap method invocation behaviour to possibly diverge further in the future and allow for constant dynamic bootstrap methods that are invoked without the lookup/name/type arguments. The change enables further divergence in a future release without breaking compatibility.
>
> This would make it easier to use existing methods as bootstrap methods rather than invoking via a level of indirection for explicit wrappers or using ConstantBootstraps.invoke. The experience garnered from prototyping language and low-level library features informs us this is useful.
>
> CSR is here:
>
> https://bugs.openjdk.java.net/browse/JDK-8201268 <https://bugs.openjdk.java.net/browse/JDK-8201268>
>
> Thanks,
> Paul.
More information about the core-libs-dev
mailing list