RFR: 8005885: enhance PrintCodeCache to print more data [v2]

Evgeny Astigeevich duke at openjdk.java.net
Tue Feb 22 15:19:56 UTC 2022


On Thu, 17 Feb 2022 19:07:56 GMT, Yi-Fan Tsai <duke at openjdk.java.net> wrote:

>> An example of the modified data.
>> 
>> java -XX:+TieredCompilation -XX:+UnlockDiagnosticVMOptions -XX:+PrintCodeCache -XX:+Verbose
>> 
>> Tier 0:
>>  #45 live = 38K (hdr 16K, loc 4K, code 18K, stub 0K, [oops 0K, metadata 0K, data 0K, pcs 0K])
>>  #0 dead = 0K
>> Tier 1:
>>  #56 live = 43K (hdr 20K, loc 3K, code 9K, stub 4K, [oops 0K, metadata 0K, data 0K, pcs 3K])
>>  #0 dead = 0K
>> Tier 2:
>>  #0 live = 0K
>>  #0 dead = 0K
>> Tier 3:
>>  #306 live = 773K (hdr 109K, loc 61K, code 354K, stub 37K, [oops 0K, metadata 6K, data 67K, pcs 122K])
>>  #0 dead = 0K
>> Tier 4:
>>  #37 live = 110K (hdr 13K, loc 6K, code 43K, stub 1K, [oops 0K, metadata 1K, data 13K, pcs 28K])
>>  #0 dead = 0K
>> Stubs:
>>  #60 runtime = 34K (hdr 7K, loc 1K, code 24K, stub 0K, [oops 0K, metadata 0K, data 0K, pcs 0K])
>>  #1 uncommon trap = 0K (hdr 0K, loc 0K, code 0K, stub 0K, [oops 0K, metadata 0K, data 0K, pcs 0K])
>>  #1 deoptimization = 1K (hdr 0K, loc 0K, code 1K, stub 0K, [oops 0K, metadata 0K, data 0K, pcs 0K])
>>  #667 adapter = 512K (hdr 78K, loc 45K, code 376K, stub 0K, [oops 0K, metadata 0K, data 0K, pcs 0K])
>>  #17 buffer blob = 3163K (hdr 1K, loc 0K, code 3161K, stub 0K, [oops 0K, metadata 0K, data 0K, pcs 0K])
>>  #4 other = 2K (hdr 0K, loc 0K, code 1K, stub 0K, [oops 0K, metadata 0K, data 0K, pcs 0K])
>
> Yi-Fan Tsai has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Fix code style

Changes requested by eastig at github.com (no known OpenJDK username).

src/hotspot/share/code/codeCache.cpp line 1477:

> 1475:   tty->print_cr("nmethod dependency checking time %fs", dependentCheckTime.seconds());
> 1476:   for (int i = 0; i <= CompLevel_full_optimization; i++) {
> 1477:     tty->print_cr("Tier %d:", i);

What about to do it more informative:


Nmethod blobs per compilation level:
CompLevel_none:
...
CompLevel_simple:
...

src/hotspot/share/code/codeCache.cpp line 1485:

> 1483:     const char* name;
> 1484:     const CodeBlob_sizes* sizes;
> 1485:   } stubs[] = {

As `stub` has a particular meaning and there are non-stubs: adapters buffers and other, I suggest `non_nmethod_blobs` instead of `stubs`.

src/hotspot/share/code/codeCache.cpp line 1493:

> 1491:     { "other",          &other },
> 1492:   };
> 1493:   tty->print_cr("Stubs:");

Non-nmethod blobs:

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

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


More information about the hotspot-compiler-dev mailing list