< prev index next >

src/java.base/share/classes/jdk/internal/module/SystemModuleFinder.java

Print this page

        

*** 148,178 **** --- 148,182 ---- // It can be disabled for troubleshooting purpose. boolean disabled = System.getProperty("jdk.system.module.finder.disabledFastPath") != null; ModuleDescriptor[] descriptors; + ModuleTarget[] targets; ModuleHashes[] recordedHashes; ModuleResolution[] moduleResolutions; // fast loading of ModuleDescriptor of system modules if (isFastPathSupported() && !disabled) { descriptors = SystemModules.descriptors(); + targets = SystemModules.targets(); recordedHashes = SystemModules.hashes(); moduleResolutions = SystemModules.moduleResolutions(); } else { // if fast loading of ModuleDescriptors is disabled // fallback to read module-info.class descriptors = new ModuleDescriptor[n]; + targets = new ModuleTarget[n]; recordedHashes = new ModuleHashes[n]; moduleResolutions = new ModuleResolution[n]; ImageReader imageReader = SystemImage.reader(); for (int i = 0; i < names.length; i++) { String mn = names[i]; ImageLocation loc = imageReader.findLocation(mn, "module-info.class"); ModuleInfo.Attributes attrs = ModuleInfo.read(imageReader.getResourceBuffer(loc), null); descriptors[i] = attrs.descriptor(); + targets[i] = attrs.target(); recordedHashes[i] = attrs.recordedHashes(); moduleResolutions[i] = attrs.moduleResolution(); } }
*** 204,213 **** --- 208,218 ---- for (int i = 0; i < n; i++) { ModuleDescriptor md = descriptors[i]; // create the ModuleReference ModuleReference mref = toModuleReference(md, + targets[i], recordedHashes[i], hashSupplier(names[i]), moduleResolutions[i]); mods[i] = mref; map[i] = Map.entry(names[i], mref);
*** 231,240 **** --- 236,246 ---- public Set<ModuleReference> findAll() { return modules; } private ModuleReference toModuleReference(ModuleDescriptor md, + ModuleTarget target, ModuleHashes recordedHashes, HashSupplier hasher, ModuleResolution mres) { String mn = md.name(); URI uri = JNUA.create("jrt", "/".concat(mn));
*** 244,256 **** public ModuleReader get() { return new ImageModuleReader(mn, uri); } }; ! ModuleReference mref = ! new ModuleReferenceImpl(md, uri, readerSupplier, null, ! recordedHashes, hasher, mres); // may need a reference to a patched module if --patch-module specified mref = ModuleBootstrap.patcher().patchIfNeeded(mref); return mref; --- 250,267 ---- public ModuleReader get() { return new ImageModuleReader(mn, uri); } }; ! ModuleReference mref = new ModuleReferenceImpl(md, ! uri, ! readerSupplier, ! null, ! target, ! recordedHashes, ! hasher, ! mres); // may need a reference to a patched module if --patch-module specified mref = ModuleBootstrap.patcher().patchIfNeeded(mref); return mref;
< prev index next >