On Thu, 26 Sep 2024 00:45:20 GMT, Calvin Cheung <cche...@openjdk.org> wrote:

>> src/hotspot/share/classfile/classLoaderExt.cpp line 162:
>> 
>>> 160:         int n = os::snprintf(full_name, full_name_len, "%s%s%s", path, 
>>> os::file_separator(), file_name);
>>> 161:         assert((size_t)n == full_name_len - 1, "Unexpected number of 
>>> characters in string");
>>> 162:         module_paths->append(full_name);
>> 
>> Can this case be handled: --module-path=dir
>> 
>> - Dump time :  dir contains only mod1.jar
>> - Run time :  dir contains only mod1.jar and mod2.jmod
>
> It should work because the jmod file won't be added to the `module_paths`.

In my scenario, will the FMG be used? If so, the program won't be able to load 
the code in mod2.jmod, so the behavior will be wrong. Could you add a test case 
for this?

>> src/hotspot/share/runtime/arguments.cpp line 347:
>> 
>>> 345:     }
>>> 346:   }
>>> 347:   return false;
>> 
>> Can this be simplified to `return (strcmp(key, MODULE_PROPERTY_PREFIX PATH) 
>> == 0)`?
>
> I'm not sure. Is your suggest equivalent to:
>   `return (strcmp(key, "jdk.module.path"));`

Yes, the C++ compiler will automatically concatenate `MODULE_PROPERTY_PREFIX 
PATH` into a single string.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21048#discussion_r1779902553
PR Review Comment: https://git.openjdk.org/jdk/pull/21048#discussion_r1779902689

Reply via email to