|
24 | 24 | */ |
25 | 25 | package com.oracle.svm.hosted; |
26 | 26 |
|
27 | | -import static com.oracle.svm.core.util.VMError.shouldNotReachHereAtRuntime; |
28 | | - |
29 | 27 | import java.lang.module.Configuration; |
30 | 28 | import java.lang.module.FindException; |
31 | 29 | import java.lang.module.ModuleDescriptor; |
|
56 | 54 | import java.util.stream.Collectors; |
57 | 55 | import java.util.stream.Stream; |
58 | 56 |
|
59 | | -import jdk.internal.loader.ClassLoaders; |
60 | 57 | import org.graalvm.nativeimage.ImageSingletons; |
61 | 58 | import org.graalvm.nativeimage.Platform; |
62 | 59 | import org.graalvm.nativeimage.Platforms; |
|
73 | 70 | import com.oracle.svm.core.jdk.Resources; |
74 | 71 | import com.oracle.svm.core.jdk.RuntimeClassLoaderValueSupport; |
75 | 72 | import com.oracle.svm.core.jdk.RuntimeModuleSupport; |
| 73 | +import com.oracle.svm.core.util.HostedSubstrateUtil; |
76 | 74 | import com.oracle.svm.core.util.VMError; |
77 | 75 | import com.oracle.svm.hosted.FeatureImpl.AfterAnalysisAccessImpl; |
78 | 76 | import com.oracle.svm.hosted.FeatureImpl.AnalysisAccessBase; |
|
87 | 85 | import jdk.internal.module.ServicesCatalog; |
88 | 86 | import jdk.internal.module.SystemModuleFinders; |
89 | 87 |
|
| 88 | +import static com.oracle.svm.core.util.VMError.shouldNotReachHereAtRuntime; |
| 89 | + |
90 | 90 | /** |
91 | 91 | * This feature: |
92 | 92 | * <ul> |
@@ -808,24 +808,12 @@ public ModuleFinder getAppModuleFinder() { |
808 | 808 | } |
809 | 809 | } |
810 | 810 |
|
811 | | - private ClassLoader getRuntimeLoaderFor(ClassLoader hostedLoader) { |
812 | | - /* |
813 | | - * Make sure to replace builder class loader with the application class loader. This is |
814 | | - * the case, for example, for library support modules. |
815 | | - */ |
816 | | - if (hostedLoader == imageClassLoader.getClassLoader()) { |
817 | | - return ClassLoaders.appClassLoader(); |
818 | | - } else { |
819 | | - return hostedLoader; |
820 | | - } |
821 | | - } |
822 | | - |
823 | 811 | public Module getRuntimeModuleForHostedModule(Module hostedModule, boolean optional) { |
824 | 812 | return getRuntimeModuleForHostedModule(hostedModule.getClassLoader(), hostedModule.getName(), optional); |
825 | 813 | } |
826 | 814 |
|
827 | 815 | public Module getRuntimeModuleForHostedModule(ClassLoader hostedLoader, String hostedModuleName, boolean optional) { |
828 | | - ClassLoader loader = getRuntimeLoaderFor(hostedLoader); |
| 816 | + ClassLoader loader = HostedSubstrateUtil.getRuntimeClassLoader(hostedLoader); |
829 | 817 | Map<String, Module> loaderRuntimeModules = runtimeModules.get(loader); |
830 | 818 | if (loaderRuntimeModules == null) { |
831 | 819 | if (optional) { |
@@ -863,7 +851,7 @@ public Module getOrCreateRuntimeModuleForHostedModule(Module hostedModule, Analy |
863 | 851 |
|
864 | 852 | public Module getOrCreateRuntimeModuleForHostedModule(ClassLoader hostedLoader, String hostedModuleName, ModuleDescriptor runtimeModuleDescriptor, AnalysisAccessBase access, |
865 | 853 | boolean enableNativeAccess) { |
866 | | - ClassLoader loader = getRuntimeLoaderFor(hostedLoader); |
| 854 | + ClassLoader loader = HostedSubstrateUtil.getRuntimeClassLoader(hostedLoader); |
867 | 855 | synchronized (runtimeModules) { |
868 | 856 | Module runtimeModule = getRuntimeModuleForHostedModule(loader, hostedModuleName, true); |
869 | 857 | if (runtimeModule != null) { |
|
0 commit comments