RFR: 8357600: Patch nmethod flushing message to include more details [v3]

Vladimir Kozlov kvn at openjdk.org
Tue Jun 3 16:17:56 UTC 2025


On Mon, 2 Jun 2025 22:49:36 GMT, Cesar Soares Lucas <cslucas at openjdk.org> wrote:

>> Please review this patch for adding more details to nmethod flushing message. These details are particularly important when investigating interaction of JVMCI compiled code and code cache flushing heuristics.
>> 
>> Tested on Linux x64 with JTREG tier1-3 using fastdebug and release builds.
>
> Cesar Soares Lucas has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Address PR feedback.

src/hotspot/share/code/nmethod.cpp line 2131:

> 2129:     ResourceMark rm;
> 2130:     const char* name = method()->name()->as_C_string();
> 2131:     const char* is_jvmci = "";

Please use `compiler_name()` instead.

src/hotspot/share/code/nmethod.cpp line 2142:

> 2140:     }
> 2141: #endif
> 2142:     log_debug(codecache)("Flushing nmethod %3d/" INTPTR_FORMAT ", level=%d, osr=%d, cold=%d, epoch=" UINT64_FORMAT ", cold_count=" UINT64_FORMAT ". "

You can use `lt` here.

src/hotspot/share/code/nmethod.cpp line 2145:

> 2143:                        "Cache capacity: %zuKb, free space: %zuKb. %smethod %s",
> 2144:                        _compile_id, p2i(this), _comp_level, is_osr_method(), is_cold(), _gc_epoch, CodeCache::cold_gc_count(),
> 2145:                        codecache_capacity, codecache_free_space, is_jvmci, name);

Swap `is_jvmci` and `name` so that method's names in output for nmethod not compiled by JVMCI (by C1) will be aligned.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25402#discussion_r2124355185
PR Review Comment: https://git.openjdk.org/jdk/pull/25402#discussion_r2124324589
PR Review Comment: https://git.openjdk.org/jdk/pull/25402#discussion_r2124331010


More information about the hotspot-compiler-dev mailing list