On Mon, 7 Apr 2025 16:15:47 GMT, Ioi Lam <ik...@openjdk.org> wrote: >> Timofei Pushkin has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Don't use URLClassPath > > src/java.base/share/classes/jdk/internal/misc/CDS.java line 444: > >> 442: protected Class<?> findClass(String name) throws >> ClassNotFoundException { >> 443: // Unregistered classes should be found in load(...), >> registered classes should be >> 444: // handeled by parent loaders > > Hmm, I wonder how the reference to java.lang.Object is resolved in this case. > When `CustomLoadee` is parsed, the ClassFileParser needs to resolve is super > class, which should result into a call to > `UnregisteredClassLoader::findClass()`. > > > "java/lang/Object id: 0", > "CustomLoadee id: 1 super: 0 source: .",
`UnregisteredClassLoader::loadClass` will be called, i.e. the default implementation from `ClassLoader::loadClass`, which will first try to delegate to parent. The delegation chain will reach the boot loader which will find `java.lang.Object` and thus `UnregisteredClassLoader::findClass()` won't be called. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24223#discussion_r2033015572