Fixes a bug in the `VM.classloaders` jcmd that causes class loaders to be 
omitted from the output if a parent class loader never loaded any class and 
therefore had no associated DCmd.

The fix changes the command to not rely on the existence of a CLD structure for 
the loader; instead, all information (loader class name, loader name, etc) is 
pulled via the loader oop, which has to be always there unless its the 
bootstrap loader.

Also, the tests were expanded to test the display of empty loaders and empty 
parent loaders.

Thanks to @dholmes-ora for finding this bug.

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

Commit messages:
 - JDK-8293156-Dcmd-VM.classloaders-fails-to-print-the-full-hierarchy

Changes: https://git.openjdk.org/jdk/pull/10312/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10312&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8293156
  Stats: 145 lines in 2 files changed: 97 ins; 24 del; 24 mod
  Patch: https://git.openjdk.org/jdk/pull/10312.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10312/head:pull/10312

PR: https://git.openjdk.org/jdk/pull/10312

Reply via email to