|
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