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