< prev index next >

src/java.base/share/classes/java/lang/module/SystemModuleFinder.java

Print this page
rev 15833 : 8168073: Speed up URI creation during module bootstrap
Reviewed-by: alanb, mchung, psandoz

*** 42,51 **** --- 42,53 ---- import java.util.function.Supplier; import jdk.internal.jimage.ImageLocation; import jdk.internal.jimage.ImageReader; import jdk.internal.jimage.ImageReaderFactory; + import jdk.internal.misc.JavaNetUriAccess; + import jdk.internal.misc.SharedSecrets; import jdk.internal.module.ModuleHashes; import jdk.internal.module.ModuleHashes.HashSupplier; import jdk.internal.module.SystemModules; import jdk.internal.module.ModulePatcher; import jdk.internal.perf.PerfCounter;
*** 69,78 **** --- 71,82 ---- private static final PerfCounter exportsCount = PerfCounter.newPerfCounter("jdk.module.finder.jimage.exports"); // ImageReader used to access all modules in the image private static final ImageReader imageReader; + private static final JavaNetUriAccess jnua = SharedSecrets.getJavaNetUriAccess(); + // the set of modules in the run-time image private static final Set<ModuleReference> modules; // maps module name to module reference private static final Map<String, ModuleReference> nameToModule;
*** 164,174 **** private static ModuleReference toModuleReference(ModuleDescriptor md, HashSupplier hash) { String mn = md.name(); ! URI uri = URI.create("jrt:/" + mn); Supplier<ModuleReader> readerSupplier = new Supplier<>() { @Override public ModuleReader get() { return new ImageModuleReader(mn, uri); --- 168,179 ---- private static ModuleReference toModuleReference(ModuleDescriptor md, HashSupplier hash) { String mn = md.name(); ! ! URI uri = jnua.create("jrt", "/".concat(mn)); Supplier<ModuleReader> readerSupplier = new Supplier<>() { @Override public ModuleReader get() { return new ImageModuleReader(mn, uri);
< prev index next >