RFR: 8078641: MethodHandle.asTypeCache can retain classes from unloading [v3]
Mandy Chung
mchung at openjdk.java.net
Thu Sep 9 16:19:07 UTC 2021
On Fri, 3 Sep 2021 12:01:12 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
> > For the change of MethodHandle::asType to a final method, this needs a CSR.
>
> It is not allowed to extend/subclass `MethodHandle` outside `java.lang.invoke` package.
> So, the aforementioned change doesn't have any compatibility risks. Do I miss something important?
>
> ```
> /**
> * Package-private constructor for the method handle implementation hierarchy.
> * Method handle inheritance will be contained completely within
> * the {@code java.lang.invoke} package.
> */
> // @param type type (permanently assigned) of the new method handle
> /*non-public*/
> MethodHandle(MethodType type, LambdaForm form) {
> ```
Sorry for the late reply as I was on vacation and just return today.
Thanks for the clarification. I missed the fact that `MethodHandle` has no public constructor and cannot be extended. This is fine.
-------------
PR: https://git.openjdk.java.net/jdk/pull/5246
More information about the core-libs-dev
mailing list