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

Larry Cable duke at openjdk.org
Fri Jan 9 17:30:41 UTC 2026


On Tue, 6 Jan 2026 23:46:44 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Larry Cable has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   JDK-8327246: updated copyright year. fixed Capitialization nit and restructured use of InstanceKlass local as per comments
>
> src/hotspot/share/oops/instanceKlass.cpp line 2386:
> 
>> 2384:     oop pd = java_lang_Class::protection_domain(k->java_mirror());
>> 2385: 
>> 2386:     if (pd != nullptr && (ik = pd->klass()->is_instance_klass() ? InstanceKlass::cast(pd->klass()) : nullptr) != nullptr) {
> 
> Is a non-instance-class possible here??

good question, but I think defensive coding is warranted, and this is not a performance sensitive code path IMO,

> src/hotspot/share/oops/instanceKlass.cpp line 2397:
> 
>> 2395:         oop cs = pd->obj_field(csfd.offset());
>> 2396: 
>> 2397:         if (cs != nullptr && (ik = cs->klass()->is_instance_klass() ? InstanceKlass::cast(cs->klass()) : nullptr) != nullptr) {
> 
> Is a non-instance-class possible here??

good question, but I think defensive coding is warranted, and this is not a performance sensitive code path IMO

> src/hotspot/share/oops/instanceKlass.cpp line 2406:
> 
>> 2404:             oop loc = cs->obj_field(locfd.offset());
>> 2405: 
>> 2406:             if (loc != nullptr && loc->klass() == vmClasses::String_klass()) {
> 
> Why are you checking the class type?

I am simply reusing an existing pattern I found elsewhere in the corpus where code that accessed a field by name with the intent to process as a String tested the type, its my practice to code with safety, while its unlikely that the type of the field will change, I think its safer to test prior to invoking a type specific API.

If you feel strongly about this, I will remove the klass comparision. :)

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

PR Review Comment: https://git.openjdk.org/jdk/pull/29048#discussion_r2676996740
PR Review Comment: https://git.openjdk.org/jdk/pull/29048#discussion_r2677014140
PR Review Comment: https://git.openjdk.org/jdk/pull/29048#discussion_r2677011507


More information about the hotspot-dev mailing list