RFR: 8323832: Load JVMCI with the platform class loader

xxDark duke at openjdk.org
Tue Jan 23 17:20:29 UTC 2024


On Mon, 22 Jan 2024 17:34:16 GMT, Doug Simon <dnsimon at openjdk.org> wrote:

> This PR changes `jdk.internal.vm.ci` such that it is loaded by the platform class loader instead of the boot class loader. This allows Native Image to load a version of JVMCI different than the version on top of which Native Image is running. This capability is demonstrated and tested by `LoadAlternativeJVMCI.java`.

Hello. I'm not a reviewer but I read through the conversation in JIRA and saw this comment:
 > [~pwoegerer] currently has a Native Image patch where he creates a URLClassLoader whose parent is jdk.internal.loader.ClassLoaders.BOOT_LOADER (retrieved via reflection and use of required --add-exports and --add-opens command line options). That is, he's using the non-delegating approach you mention.

There is zero reason to do this.
Passing `null` as parent class loader would suffice as boot loader just uses `findBootstrapClassOrNull` in `JavaLangAccess` either way.

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

PR Comment: https://git.openjdk.org/jdk/pull/17520#issuecomment-1906515587


More information about the core-libs-dev mailing list