On Tue, 9 Jun 2026 08:25:34 GMT, Yasumasa Suenaga <[email protected]> wrote:
>> Add a "-location" option to jcmd VM.classes which will show the URL of the >> class if possible. e.g. >> >> >> 769483: >> KlassAddr Size State Flags ClassName >> 0x0000000055040400 71 fully_initialized W MyApp$1 >> "file:///my/progs/" >> 0x0000000055040000 67 fully_initialized W MyApp >> "file:///my/progs/" >> 0x0000000055005800 73 fully_initialized W >> jdk.internal.event.ThreadSleepEvent >> 0x0000000055005400 73 allocated >> jdk.internal.event.ThreadSleepEvent >> ... >> >> (Fixing a column width for the ClassName seems impossible as it can be >> really long, so URL is simply printed after ClassName.) >> >> >> This is a continuation of https://git.openjdk.org/jdk/pull/29048 which was >> pretty far along and this is a simple import. >> A few minor changes in help text, (C), and of course whitespace. >> >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > src/hotspot/share/services/diagnosticCommand.cpp line 975: > >> 973: _out->print_cr("\n%d classes shared from static cache: %s", >> closure._aot_statics, FileMapInfo::current_info()->full_path()); >> 974: if (closure._aot_dynamics > 0) >> 975: _out->print_cr("\n%d classes shared from dynamic cache: %s", >> closure._aot_dynamics, FileMapInfo::dynamic_info()->full_path()); > > Suggestion: > > if (closure._aot_statics > 0) { > _out->print_cr(); > _out->print_cr("%d classes shared from static cache: %s", > closure._aot_statics, FileMapInfo::current_info()->full_path()); > } > if (closure._aot_dynamics > 0) { > _out->print_cr(); > _out->print_cr("%d classes shared from dynamic cache: %s", > closure._aot_dynamics, FileMapInfo::dynamic_info()->full_path()); > } Will add the braces for clarity. Not sure about the extra newlines, currently it looks like: $ jcmd pid VM.classes -location ... 0x00000000541bdc00 65 [Ljava.lang.Object; 0x00000000541bd800 67 fully_initialized fWSs java.lang.Object 427 classes shared from static cache: /work/repos/personal/jdk/build/linux-x64/images/jdk/lib/server/classes.jsa $ ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/31420#discussion_r3379154481
