-
Enhancement
-
Resolution: Fixed
-
P4
-
9
-
b08
-
generic
-
generic
The initial implementation of MethodHandleProxies.asInterfaceInstance uses java.lang.reflect.Proxy.
This exposes too much information; we do not want any public supertypes other than the requested SAM type and (perhaps) an extractor API MethodHandleProvider.
In particular, we want to leave open the possibility of supporting SAM classes, which are inconsistent with a Proxy-based implementation.
Also, the Proxy-based implementation is slow, since it uses reflective data structures to get its work done. A more direct method-handle approach will perform better.
This exposes too much information; we do not want any public supertypes other than the requested SAM type and (perhaps) an extractor API MethodHandleProvider.
In particular, we want to leave open the possibility of supporting SAM classes, which are inconsistent with a Proxy-based implementation.
Also, the Proxy-based implementation is slow, since it uses reflective data structures to get its work done. A more direct method-handle approach will perform better.
- csr for
-
JDK-8305691 Reimplement MethodHandleProxies.asInterfaceInstance
- Closed
- relates to
-
JDK-8312482 Apparent corrupt jar file junit-platform-console-standalone-1.9.2.jar
- Closed
-
JDK-8001537 improve lambda performance using method handle proxy
- Open