Hi everyone, `PrintClassLayout::print_class_layout` expects internal class names as its argument, but is called externally by users through `jcmd`. This leads to inconsistencies with other functions. For example:
jcmd <pid> VM.class_hierarchy java.lang.String jcmd <pid> VM.class_print_layout java/lang/String In addition, its output is also in the internal format. This should be changed to also use the external dotted class name instead. For this fix I changed the `Closure` used for finding classes to instead use external names, and also swapped the output print to use the external name. Testing: - Tier 1 - Manual inspection with `jcmd` --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - change print_class_layout to use external class names Changes: https://git.openjdk.org/valhalla/pull/2375/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2375&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8383567 Stats: 17 lines in 2 files changed: 1 ins; 5 del; 11 mod Patch: https://git.openjdk.org/valhalla/pull/2375.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2375/head:pull/2375 PR: https://git.openjdk.org/valhalla/pull/2375
