RFR 8199875: Require first parameter type of a condy bootstrap to be Lookup
Paul Sandoz
paul.sandoz at oracle.com
Sat Apr 7 00:15:54 UTC 2018
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