RFR: 8327246: Add a jcmd diagnostic command to list the jar files loaded by a process [v10]

Laurence Cable larry.cable at oracle.com
Tue Jan 27 17:28:12 UTC 2026



On 1/27/26 3:04 AM, Kevin Walls wrote:
> On Wed, 21 Jan 2026 18:48:45 GMT, Larry Cable <duke at openjdk.org> wrote:
>
>>> modified the pre-existing VM.classes jcmd to add a 'location' option, that when specified, will (natively) attempt to obtain the value (if non-null) of the location URL of the CodeSource of each classes ProtectionDomain.
>>>
>>> effectively:
>>>
>>> someObject.getClass().getProtectionDomain().getCodeSource().getLocation().toExternalForm()
>>>
>>> (where interim oops are null-checked)
>> Larry Cable has updated the pull request incrementally with one additional commit since the last revision:
>>
>>    JDK-8327246: fixed initialization bug in AOT cache sharing summary code
> src/hotspot/share/services/diagnosticCommand.cpp line 962:
>
>> 960:            "R = has been redefined, "
>> 961:            "S = is shared class (if -location then 's' indicates static 'd' indicates dynamic AOT cache)",
>> 962:            "BOOLEAN", false, "false"),
> Not sure I understand the "if -location" in the text here and in the man page, as we print these flags always?
> Are the shared class/AOT related flags independent, like:
>
> R = has been redefined,
> S = is shared class,
> s = static shared class,
> d = AOT dynamic cache

simple, if '-location' is specified the additional flags ('s' & 'd') 
will be displayed as appropriate, its a mechanism to add
additional metadata while maintaining b/w compatibility for existing 
consumers of the content
>
> -------------
>
> PR Review Comment: https://git.openjdk.org/jdk/pull/29048#discussion_r2731461130



More information about the serviceability-dev mailing list