RFR: 8335154: jcmd VM.classes -verbose=false does not set verbose to false
Kevin Walls
kevinw at openjdk.org
Wed Jun 26 12:43:09 UTC 2024
On Wed, 26 Jun 2024 12:29:18 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> VM.classes uses:
>>
>> 995 VM_PrintClasses vmop(output(), _verbose.is_set());
>>
>> _verbose.is_set() is wrong: it could be set, but set to false.
>>
>> _verbose.value() should be used (see other examples such as StringtableDCmd::execute).
>>
>> With this change -verbose=false will turn off verbose mode like all other DCmds which accept -verbose
>>
>> bash-4.2$ jcmd 20193 VM.classes -verbose=false | wc -l
>> 2490
>> bash-4.2$ jcmd 20193 VM.classes -verbose=true | wc -l
>> 90258
>
> src/hotspot/share/services/diagnosticCommand.cpp line 995:
>
>> 993:
>> 994: void ClassesDCmd::execute(DCmdSource source, TRAPS) {
>> 995: VM_PrintClasses vmop(output(), _verbose.value());
>
> What if it wasn't set?
It has a default value... Generally "false" for _verbose DCmdArguments.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/19901#discussion_r1654745341
More information about the serviceability-dev
mailing list