On Wed, 19 Jan 2022 07:18:03 GMT, Ioi Lam <ik...@openjdk.org> wrote: > > > > It seems it would be useful to support the verbose output with just a > > > > single class that is specified, although that would suggest that the > > > > dcmd name should then be something other than `VM.classes`. > > > > > > > > > This is a good idea, but `jcmd VM.classes verbose=XX` looks strange, > > > `jcmd VM.class XX` is also not much proper, because we desire to print > > > all classes in default(`jcmd VM.class`). an alternative is to use `jcmd > > > VM.classes verbose | grep XX` currently. > > > > > > I was thinking the syntax would look like: `jcmd VM.classes [verbose > > [classname]]` > > Your grep solution doesn't work because each class has multiple lines of > > output. > > How about this: > > ``` > jcmd VM.classes -verbose classname classname ... > ``` > > -verbose is optional > > more than one classnames can be specified. > > if no classnames are specified, all classes are printed
If the class name here means the "fully-qualified" class name, I guess it's not practical to input multiple classnames like "java.lang.invoke.LambdaForm$MH/0x0000000800c0b400" in cmdline. The main cost of VM_PrintClasses should be the traversal of all classes. I feel a filter won't save much runtime time. We can leave it to the external awk scripts. What do you think? ------------- PR: https://git.openjdk.java.net/jdk/pull/7105