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