RFR: 8275775: Add jcmd VM.classes to print details of all classes [v6]

Ioi Lam iklam at openjdk.java.net
Fri Mar 4 05:17:05 UTC 2022


On Fri, 4 Mar 2022 02:47:28 GMT, Yi Yang <yyang at openjdk.org> wrote:

>> This issue seem still outstanding.
>
> Current:
> 
> $./jcmd 83908 VM.classes|head -10
> 83908:
> KlassAddr           Size  State                 Flags    ClassName  
> 0x0000000800df8400  62    fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800df8400  
> 0x0000000800df8000  62    fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800df8000  
> 0x0000000800de4400  62    fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800de4400  
> 0x0000000800de4000  62    fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800de4000  
> 0x0000000800dc8800  62    fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800dc8800  
> 0x0000000800dc8400  62    fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800dc8400  
> 0x0000000800dc8000  62    fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800dc8000  
> 0x0000000800db9800  62    fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800db9800 
> 
> After using "%4d":
> 
> $./jcmd 75481 VM.classes|head
> 75481:
> KlassAddr           Size  State                 Flags    ClassName  
> 0x0000000800df8400    62  fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800df8400  
> 0x0000000800df8000    62  fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800df8000  
> 0x0000000800de4400    62  fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800de4400  
> 0x0000000800de4000    62  fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800de4000 
> 
> So we do not need to change this.

You should change it to `%4d`. Otherwise, when the numbers are changed in the future (e.g., to 3 or 4 digits) they will be misaligned:


KlassAddr           Size  State                 Flags    ClassName  
0x0000000800df8400  62    fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800df8400  
0x0000000800df8000  123   fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800df8000  
0x0000000800de4400  4567  fully_initialized     W        java.lang.invoke.LambdaForm$DMH/0x0000000800de4400

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

PR: https://git.openjdk.java.net/jdk/pull/7105


More information about the hotspot-dev mailing list