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

Thomas Stuefe stuefe at openjdk.java.net
Thu Nov 4 13:33:28 UTC 2021


`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.

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

Commit messages:
 - Remove reflection invocation target printing from VM.metaspace, VM.classloaders, VM.class_hierarchy

Changes: https://git.openjdk.java.net/jdk/pull/6257/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6257&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8272065
  Stats: 368 lines in 8 files changed: 0 ins; 367 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6257.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6257/head:pull/6257

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


More information about the serviceability-dev mailing list