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

Reply via email to