RFR: JDK-8272065: jcmd cannot rely on the old core reflection implementation which will be changed after JEP 416

Mandy Chung mchung at openjdk.java.net
Thu Nov 4 17:05:22 UTC 2021


On Thu, 4 Nov 2021 13:25:14 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

> `VM.metaspace`, `VM.classloaders` and `VM.class_hierarchy` all print out reflection invocation targets for delegating reflection class loaders. Post JEP 416 we don't use DelegatingClassLoaders anymore.
> 
> This patch removes the display of reflection targets from these commands as well as associated helper code and tests.
> 
> I don't have enough time atm to reimplement this feature using method handles. But at least we can remove the old code, and prepare the way for more code removal.
> 
> The patch does not touch vmClasses, `reflect_ConstructorAccessor` and `reflect_MethodAccessor` are both still there.
> 
> Tests: GHAs, manually testing the commands.

Looks good to me.   Thanks for following this up.    The new implementation does not spin any new class loader and so I don't think jcmd needs to extend its support for the new implementation using method handles.

-------------

Marked as reviewed by mchung (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/6257


More information about the serviceability-dev mailing list