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