On Thu, 13 Feb 2025 01:22:55 GMT, Vladimir Kozlov <k...@openjdk.org> wrote:
> `CodeBlob::is_buffer_blob()` method is incorrectly used in few places because > BufferBlob is not "leaf" class. You need to add checks for its subclasses too. > > I also updated statistic output for CodeCache (`-XX:+PrintCodeCache > -XX:+Verbose`) and corresponding test to reflect current state of code blobs. > > Tested tier1-4, stress, xcomp > > New output: > > Non-nmethod blobs: > #67 runtime = 43K (hdr 4K 10%, loc 1K 3%, code 36K 84%, stub 0K 0%, [oops 0K > 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #0 upcall = 0K > #1 uncommon trap = 0K (hdr 0K 13%, loc 0K 2%, code 0K 84%, stub 0K 0%, [oops > 0K 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #1 deoptimization = 2K (hdr 0K 3%, loc 0K 1%, code 2K 94%, stub 0K 0%, [oops > 0K 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #1 exception = 0K (hdr 0K 30%, loc 0K 3%, code 0K 63%, stub 0K 0%, [oops 0K > 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #3 safepoint = 4K (hdr 0K 4%, loc 0K 1%, code 4K 93%, stub 0K 0%, [oops 0K > 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #639 adapter = 955K (hdr 44K 4%, loc 24K 2%, code 880K 92%, stub 0K 0%, > [oops 0K 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #1 mh_adapter = 10K (hdr 0K 0%, loc 0K 0%, code 9K 99%, stub 0K 0%, [oops 0K > 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #1 vtable = 32K (hdr 0K 0%, loc 0K 0%, code 32K 99%, stub 0K 0%, [oops 0K > 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #12 buffer blob = 917K (hdr 0K 0%, loc 0K 0%, code 916K 99%, stub 0K 0%, > [oops 0K 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #0 other = 0K > > > Output before: > > Non-nmethod blobs: > #66 runtime = 42K (hdr 4K 10%, loc 1K 3%, code 36K 84%, stub 0K 0%, [oops 0K > 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #1 uncommon trap = 0K (hdr 0K 13%, loc 0K 2%, code 0K 84%, stub 0K 0%, [oops > 0K 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #1 deoptimization = 2K (hdr 0K 3%, loc 0K 1%, code 2K 94%, stub 0K 0%, [oops > 0K 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #639 adapter = 955K (hdr 44K 4%, loc 24K 2%, code 880K 92%, stub 0K 0%, > [oops 0K 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #12 buffer blob = 917K (hdr 0K 0%, loc 0K 0%, code 916K 99%, stub 0K 0%, > [oops 0K 0%, metadata 0K 0%, data 0K 0%, pcs 0K 0%]) > #6 other = 47K (hdr 0K 0%, loc 0K 0%, code 46K 98%, stub 0K 0%, [oops 0K 0%, > metadata 0K 0%, data 0K 0%, pcs 0K 0%]) Looks fine. I spot-checked other `CodeBlobKind`-s, and I don't think we are missing any other. ------------- Marked as reviewed by shade (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/23607#pullrequestreview-2614215254