Currently, the jdk.internal.vm.ci module is loaded by the boot class loader. This makes it impossible to load a second copy of these classes since all class loaders ultimately delegate to the boot class loader. One interesting use case for loading JVMCI in another loader is to be able to use Native Image to produce libgraal from a version of JVMCI and Graal that differs from the version of JVMCI and Graal being used by Native Image itself. To do this properly requires being able to load a second copy of JVMCI into the class loader used by Native Image to load the classes destined for the image being generated.
- links to
-
Review openjdk/jdk/17520