public final class jdk.internal.module.SystemModuleFinders
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.internal.module.SystemModuleFinders
super_class: java.lang.Object
{
private static final jdk.internal.access.JavaNetUriAccess JNUA;
descriptor: Ljdk/internal/access/JavaNetUriAccess;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean USE_FAST_PATH;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile java.lang.module.ModuleFinder cachedSystemModuleFinder;
descriptor: Ljava/lang/module/ModuleFinder;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: invokestatic jdk.internal.access.SharedSecrets.getJavaNetUriAccess:()Ljdk/internal/access/JavaNetUriAccess;
putstatic jdk.internal.module.SystemModuleFinders.JNUA:Ljdk/internal/access/JavaNetUriAccess;
1: ldc "jdk.system.module.finder.disableFastPath"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 2: aload 0
ifnonnull 5
3: iconst_1
putstatic jdk.internal.module.SystemModuleFinders.USE_FAST_PATH:Z
4: goto 8
5: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokevirtual java.lang.String.isEmpty:()Z
ifne 6
aload 0
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
ifne 6
iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: putstatic jdk.internal.module.SystemModuleFinders.USE_FAST_PATH:Z
end local 0 8: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
2 8 0 value Ljava/lang/String;
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/module/SystemModuleFinders;
static jdk.internal.module.SystemModules allSystemModules();
descriptor: ()Ljdk/internal/module/SystemModules;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.module.SystemModuleFinders.USE_FAST_PATH:Z
ifeq 2
1: invokestatic jdk.internal.module.SystemModulesMap.allSystemModules:()Ljdk/internal/module/SystemModules;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
static jdk.internal.module.SystemModules systemModules(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/internal/module/SystemModules;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: getstatic jdk.internal.module.SystemModuleFinders.USE_FAST_PATH:Z
ifeq 16
1: aload 0
ifnonnull 3
2: invokestatic jdk.internal.module.SystemModulesMap.defaultSystemModules:()Ljdk/internal/module/SystemModules;
areturn
3: StackMap locals:
StackMap stack:
invokestatic jdk.internal.module.SystemModulesMap.moduleNames:()[Ljava/lang/String;
astore 1
start local 1 4: iconst_0
istore 2
start local 2 5: goto 15
6: StackMap locals: java.lang.String[] int
StackMap stack:
aload 1
iload 2
aaload
astore 3
start local 3 7: aload 0
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
8: invokestatic jdk.internal.module.SystemModulesMap.classNames:()[Ljava/lang/String;
iload 2
aaload
astore 4
start local 4 9: aload 4
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 5
start local 5 10: aload 5
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.internal.module.SystemModules
11: areturn
end local 5 12: StackMap locals: java.lang.String java.lang.String[] int java.lang.String java.lang.String
StackMap stack: java.lang.Exception
astore 5
start local 5 13: new java.lang.InternalError
dup
aload 5
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 end local 4 end local 3 14: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
15: iload 2
aload 1
arraylength
if_icmplt 6
end local 2 end local 1 16: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 initialModule Ljava/lang/String;
4 16 1 initialModules [Ljava/lang/String;
5 16 2 i I
7 14 3 moduleName Ljava/lang/String;
9 14 4 cn Ljava/lang/String;
10 12 5 ctor Ljava/lang/reflect/Constructor<*>;
13 14 5 e Ljava/lang/Exception;
Exception table:
from to target type
9 11 12 Class java.lang.Exception
MethodParameters:
Name Flags
initialModule
static java.lang.module.ModuleFinder of(jdk.internal.module.SystemModules);
descriptor: (Ljdk/internal/module/SystemModules;)Ljava/lang/module/ModuleFinder;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=13, args_size=1
start local 0 0: aload 0
invokeinterface jdk.internal.module.SystemModules.moduleDescriptors:()[Ljava/lang/module/ModuleDescriptor;
astore 1
start local 1 1: aload 0
invokeinterface jdk.internal.module.SystemModules.moduleTargets:()[Ljdk/internal/module/ModuleTarget;
astore 2
start local 2 2: aload 0
invokeinterface jdk.internal.module.SystemModules.moduleHashes:()[Ljdk/internal/module/ModuleHashes;
astore 3
start local 3 3: aload 0
invokeinterface jdk.internal.module.SystemModules.moduleResolutions:()[Ljdk/internal/module/ModuleResolution;
astore 4
start local 4 4: aload 1
arraylength
istore 5
start local 5 5: iload 5
anewarray java.lang.module.ModuleReference
astore 6
start local 6 6: iload 5
anewarray java.util.Map$Entry
7: astore 7
start local 7 8: aload 3
invokestatic jdk.internal.module.SystemModuleFinders.generateNameToHash:([Ljdk/internal/module/ModuleHashes;)Ljava/util/Map;
astore 8
start local 8 9: iconst_0
istore 9
start local 9 10: goto 22
11: StackMap locals: jdk.internal.module.SystemModules java.lang.module.ModuleDescriptor[] jdk.internal.module.ModuleTarget[] jdk.internal.module.ModuleHashes[] jdk.internal.module.ModuleResolution[] int java.lang.module.ModuleReference[] java.util.Map$Entry[] java.util.Map int
StackMap stack:
aload 1
iload 9
aaload
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 10
start local 10 12: aload 8
aload 10
invokestatic jdk.internal.module.SystemModuleFinders.hashSupplier:(Ljava/util/Map;Ljava/lang/String;)Ljdk/internal/module/ModuleHashes$HashSupplier;
astore 11
start local 11 13: aload 1
iload 9
aaload
14: aload 2
iload 9
aaload
15: aload 3
iload 9
aaload
16: aload 11
17: aload 4
iload 9
aaload
18: invokestatic jdk.internal.module.SystemModuleFinders.toModuleReference:(Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;Ljdk/internal/module/ModuleHashes;Ljdk/internal/module/ModuleHashes$HashSupplier;Ljdk/internal/module/ModuleResolution;)Ljava/lang/module/ModuleReference;
astore 12
start local 12 19: aload 6
iload 9
aload 12
aastore
20: aload 7
iload 9
aload 10
aload 12
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
aastore
end local 12 end local 11 end local 10 21: iinc 9 1
StackMap locals:
StackMap stack:
22: iload 9
iload 5
if_icmplt 11
end local 9 23: new jdk.internal.module.SystemModuleFinders$SystemModuleFinder
dup
aload 6
aload 7
invokespecial jdk.internal.module.SystemModuleFinders$SystemModuleFinder.<init>:([Ljava/lang/module/ModuleReference;[Ljava/util/Map$Entry;)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 systemModules Ljdk/internal/module/SystemModules;
1 24 1 descriptors [Ljava/lang/module/ModuleDescriptor;
2 24 2 targets [Ljdk/internal/module/ModuleTarget;
3 24 3 recordedHashes [Ljdk/internal/module/ModuleHashes;
4 24 4 moduleResolutions [Ljdk/internal/module/ModuleResolution;
5 24 5 moduleCount I
6 24 6 mrefs [Ljava/lang/module/ModuleReference;
8 24 7 map [Ljava/util/Map$Entry;
9 24 8 nameToHash Ljava/util/Map<Ljava/lang/String;[B>;
10 23 9 i I
12 21 10 name Ljava/lang/String;
13 21 11 hashSupplier Ljdk/internal/module/ModuleHashes$HashSupplier;
19 21 12 mref Ljava/lang/module/ModuleReference;
MethodParameters:
Name Flags
systemModules
public static java.lang.module.ModuleFinder ofSystem();
descriptor: ()Ljava/lang/module/ModuleFinder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=0
0: getstatic jdk.internal.module.SystemModuleFinders.cachedSystemModuleFinder:Ljava/lang/module/ModuleFinder;
astore 0
start local 0 1: aload 0
ifnull 3
2: aload 0
areturn
3: StackMap locals: java.lang.module.ModuleFinder
StackMap stack:
invokestatic jdk.internal.util.StaticProperty.javaHome:()Ljava/lang/String;
astore 1
start local 1 4: aload 1
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "lib"
aastore
dup
iconst_1
ldc "modules"
aastore
invokestatic java.nio.file.Path.of:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 2
start local 2 5: aload 2
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isRegularFile:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 14
6: getstatic jdk.internal.module.SystemModuleFinders.USE_FAST_PATH:Z
ifeq 10
7: invokestatic jdk.internal.module.SystemModuleFinders.allSystemModules:()Ljdk/internal/module/SystemModules;
astore 3
start local 3 8: aload 3
ifnull 10
9: aload 3
invokestatic jdk.internal.module.SystemModuleFinders.of:(Ljdk/internal/module/SystemModules;)Ljava/lang/module/ModuleFinder;
astore 0
end local 3 10: StackMap locals: java.lang.String java.nio.file.Path
StackMap stack:
aload 0
ifnonnull 12
11: invokestatic jdk.internal.module.SystemModuleFinders.ofModuleInfos:()Ljava/lang/module/ModuleFinder;
astore 0
12: StackMap locals:
StackMap stack:
aload 0
putstatic jdk.internal.module.SystemModuleFinders.cachedSystemModuleFinder:Ljava/lang/module/ModuleFinder;
13: aload 0
areturn
14: StackMap locals:
StackMap stack:
aload 1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "modules"
aastore
invokestatic java.nio.file.Path.of:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 3
start local 3 15: aload 3
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifne 17
16: new java.lang.InternalError
dup
ldc "Unable to detect the run-time image"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals: java.nio.file.Path
StackMap stack:
invokestatic jdk.internal.module.ModuleBootstrap.patcher:()Ljdk/internal/module/ModulePatcher;
iconst_1
anewarray java.nio.file.Path
dup
iconst_0
aload 3
aastore
invokestatic jdk.internal.module.ModulePath.of:(Ljdk/internal/module/ModulePatcher;[Ljava/nio/file/Path;)Ljava/lang/module/ModuleFinder;
astore 4
start local 4 18: new jdk.internal.module.SystemModuleFinders$1
dup
aload 4
invokespecial jdk.internal.module.SystemModuleFinders$1.<init>:(Ljava/lang/module/ModuleFinder;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 19 0 finder Ljava/lang/module/ModuleFinder;
4 19 1 home Ljava/lang/String;
5 19 2 modules Ljava/nio/file/Path;
8 10 3 systemModules Ljdk/internal/module/SystemModules;
15 19 3 dir Ljava/nio/file/Path;
18 19 4 f Ljava/lang/module/ModuleFinder;
private static java.lang.module.ModuleFinder ofModuleInfos();
descriptor: ()Ljava/lang/module/ModuleFinder;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=12, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 0
start local 0 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 2: invokestatic jdk.internal.module.SystemModuleFinders$SystemImage.reader:()Ljdk/internal/jimage/ImageReader;
astore 2
start local 2 3: aload 2
invokevirtual jdk.internal.jimage.ImageReader.getModuleNames:()[Ljava/lang/String;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 16
StackMap locals: java.util.Map java.util.Map jdk.internal.jimage.ImageReader top int int java.lang.String[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 2
aload 3
ldc "module-info.class"
invokevirtual jdk.internal.jimage.ImageReader.findLocation:(Ljava/lang/String;Ljava/lang/String;)Ljdk/internal/jimage/ImageLocation;
astore 7
start local 7 6: aload 2
aload 7
invokevirtual jdk.internal.jimage.ImageReader.getResourceBuffer:(Ljdk/internal/jimage/ImageLocation;)Ljava/nio/ByteBuffer;
aconst_null
invokestatic jdk.internal.module.ModuleInfo.read:(Ljava/nio/ByteBuffer;Ljava/util/function/Supplier;)Ljdk/internal/module/ModuleInfo$Attributes;
7: astore 8
start local 8 8: aload 0
aload 3
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 8
invokevirtual jdk.internal.module.ModuleInfo$Attributes.recordedHashes:()Ljdk/internal/module/ModuleHashes;
astore 9
start local 9 10: aload 9
ifnull 15
11: aload 9
invokevirtual jdk.internal.module.ModuleHashes.names:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 14
StackMap locals: java.util.Map java.util.Map jdk.internal.jimage.ImageReader java.lang.String int int java.lang.String[] jdk.internal.jimage.ImageLocation jdk.internal.module.ModuleInfo$Attributes jdk.internal.module.ModuleHashes top java.util.Iterator
StackMap stack:
12: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 13: aload 1
aload 10
aload 9
aload 10
invokedynamic apply(Ljdk/internal/module/ModuleHashes;Ljava/lang/String;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
jdk/internal/module/SystemModuleFinders.lambda$0(Ljdk/internal/module/ModuleHashes;Ljava/lang/String;Ljava/lang/String;)[B (6)
(Ljava/lang/String;)[B
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
pop
end local 10 14: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
end local 9 end local 8 end local 7 end local 3 15: StackMap locals: java.util.Map java.util.Map jdk.internal.jimage.ImageReader top int int java.lang.String[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
iload 5
if_icmplt 4
17: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 18: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 19: aload 0
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 32
StackMap locals: java.util.Map java.util.Map jdk.internal.jimage.ImageReader java.util.Set java.util.Map top java.util.Iterator
StackMap stack:
20: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 21: aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 22: aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast jdk.internal.module.ModuleInfo$Attributes
astore 8
start local 8 23: aload 1
aload 7
invokestatic jdk.internal.module.SystemModuleFinders.hashSupplier:(Ljava/util/Map;Ljava/lang/String;)Ljdk/internal/module/ModuleHashes$HashSupplier;
astore 9
start local 9 24: aload 8
invokevirtual jdk.internal.module.ModuleInfo$Attributes.descriptor:()Ljava/lang/module/ModuleDescriptor;
25: aload 8
invokevirtual jdk.internal.module.ModuleInfo$Attributes.target:()Ljdk/internal/module/ModuleTarget;
26: aload 8
invokevirtual jdk.internal.module.ModuleInfo$Attributes.recordedHashes:()Ljdk/internal/module/ModuleHashes;
27: aload 9
28: aload 8
invokevirtual jdk.internal.module.ModuleInfo$Attributes.moduleResolution:()Ljdk/internal/module/ModuleResolution;
29: invokestatic jdk.internal.module.SystemModuleFinders.toModuleReference:(Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;Ljdk/internal/module/ModuleHashes;Ljdk/internal/module/ModuleHashes$HashSupplier;Ljdk/internal/module/ModuleResolution;)Ljava/lang/module/ModuleReference;
astore 10
start local 10 30: aload 3
aload 10
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
31: aload 4
aload 7
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 10 end local 9 end local 8 end local 7 end local 5 32: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
33: new jdk.internal.module.SystemModuleFinders$SystemModuleFinder
dup
aload 3
aload 4
invokespecial jdk.internal.module.SystemModuleFinders$SystemModuleFinder.<init>:(Ljava/util/Set;Ljava/util/Map;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 34 0 nameToAttributes Ljava/util/Map<Ljava/lang/String;Ljdk/internal/module/ModuleInfo$Attributes;>;
2 34 1 nameToHash Ljava/util/Map<Ljava/lang/String;[B>;
3 34 2 reader Ljdk/internal/jimage/ImageReader;
5 15 3 mn Ljava/lang/String;
6 15 7 loc Ljdk/internal/jimage/ImageLocation;
8 15 8 attrs Ljdk/internal/module/ModuleInfo$Attributes;
10 15 9 hashes Ljdk/internal/module/ModuleHashes;
13 14 10 name Ljava/lang/String;
18 34 3 mrefs Ljava/util/Set<Ljava/lang/module/ModuleReference;>;
19 34 4 nameToModule Ljava/util/Map<Ljava/lang/String;Ljava/lang/module/ModuleReference;>;
21 32 5 e Ljava/util/Map$Entry<Ljava/lang/String;Ljdk/internal/module/ModuleInfo$Attributes;>;
22 32 7 mn Ljava/lang/String;
23 32 8 attrs Ljdk/internal/module/ModuleInfo$Attributes;
24 32 9 hashSupplier Ljdk/internal/module/ModuleHashes$HashSupplier;
30 32 10 mref Ljava/lang/module/ModuleReference;
static java.lang.module.ModuleReference toModuleReference(java.lang.module.ModuleDescriptor, jdk.internal.module.ModuleTarget, jdk.internal.module.ModuleHashes, jdk.internal.module.ModuleHashes$HashSupplier, jdk.internal.module.ModuleResolution);
descriptor: (Ljava/lang/module/ModuleDescriptor;Ljdk/internal/module/ModuleTarget;Ljdk/internal/module/ModuleHashes;Ljdk/internal/module/ModuleHashes$HashSupplier;Ljdk/internal/module/ModuleResolution;)Ljava/lang/module/ModuleReference;
flags: (0x0008) ACC_STATIC
Code:
stack=10, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual java.lang.module.ModuleDescriptor.name:()Ljava/lang/String;
astore 5
start local 5 1: getstatic jdk.internal.module.SystemModuleFinders.JNUA:Ljdk/internal/access/JavaNetUriAccess;
ldc "jrt"
ldc "/"
aload 5
invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface jdk.internal.access.JavaNetUriAccess.create:(Ljava/lang/String;Ljava/lang/String;)Ljava/net/URI;
astore 6
start local 6 2: new jdk.internal.module.SystemModuleFinders$2
dup
aload 5
aload 6
invokespecial jdk.internal.module.SystemModuleFinders$2.<init>:(Ljava/lang/String;Ljava/net/URI;)V
astore 7
start local 7 3: new jdk.internal.module.ModuleReferenceImpl
dup
aload 0
4: aload 6
5: aload 7
6: aconst_null
7: aload 1
8: aload 2
9: aload 3
10: aload 4
11: invokespecial jdk.internal.module.ModuleReferenceImpl.<init>:(Ljava/lang/module/ModuleDescriptor;Ljava/net/URI;Ljava/util/function/Supplier;Ljdk/internal/module/ModulePatcher;Ljdk/internal/module/ModuleTarget;Ljdk/internal/module/ModuleHashes;Ljdk/internal/module/ModuleHashes$HashSupplier;Ljdk/internal/module/ModuleResolution;)V
astore 8
start local 8 12: invokestatic jdk.internal.module.ModuleBootstrap.patcher:()Ljdk/internal/module/ModulePatcher;
aload 8
invokevirtual jdk.internal.module.ModulePatcher.patchIfNeeded:(Ljava/lang/module/ModuleReference;)Ljava/lang/module/ModuleReference;
astore 8
13: aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 descriptor Ljava/lang/module/ModuleDescriptor;
0 14 1 target Ljdk/internal/module/ModuleTarget;
0 14 2 recordedHashes Ljdk/internal/module/ModuleHashes;
0 14 3 hasher Ljdk/internal/module/ModuleHashes$HashSupplier;
0 14 4 mres Ljdk/internal/module/ModuleResolution;
1 14 5 mn Ljava/lang/String;
2 14 6 uri Ljava/net/URI;
3 14 7 readerSupplier Ljava/util/function/Supplier<Ljava/lang/module/ModuleReader;>;
12 14 8 mref Ljava/lang/module/ModuleReference;
MethodParameters:
Name Flags
descriptor
target
recordedHashes
hasher
mres
static java.util.Map<java.lang.String, byte[]> generateNameToHash(jdk.internal.module.ModuleHashes[]);
descriptor: ([Ljdk/internal/module/ModuleHashes;)Ljava/util/Map;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 13
StackMap locals: jdk.internal.module.ModuleHashes[] java.util.Map int top int int jdk.internal.module.ModuleHashes[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
ifnull 12
5: aload 1
ifnonnull 8
6: aload 3
invokevirtual jdk.internal.module.ModuleHashes.hashes:()Ljava/util/Map;
astore 1
7: goto 12
8: StackMap locals: jdk.internal.module.ModuleHashes[] java.util.Map int jdk.internal.module.ModuleHashes int int jdk.internal.module.ModuleHashes[]
StackMap stack:
iload 2
ifne 11
9: new java.util.HashMap
dup
aload 1
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 1
10: iconst_1
istore 2
11: StackMap locals:
StackMap stack:
aload 1
aload 3
invokevirtual jdk.internal.module.ModuleHashes.hashes:()Ljava/util/Map;
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
end local 3 12: StackMap locals: jdk.internal.module.ModuleHashes[] java.util.Map int top int int jdk.internal.module.ModuleHashes[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iload 5
if_icmplt 3
14: aload 1
ifnull 15
aload 1
goto 16
StackMap locals: jdk.internal.module.ModuleHashes[] java.util.Map int
StackMap stack:
15: invokestatic java.util.Map.of:()Ljava/util/Map;
StackMap locals:
StackMap stack: java.util.Map
16: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 recordedHashes [Ljdk/internal/module/ModuleHashes;
1 17 1 nameToHash Ljava/util/Map<Ljava/lang/String;[B>;
2 17 2 secondSeen Z
4 12 3 mh Ljdk/internal/module/ModuleHashes;
Signature: ([Ljdk/internal/module/ModuleHashes;)Ljava/util/Map<Ljava/lang/String;[B>;
MethodParameters:
Name Flags
recordedHashes
static jdk.internal.module.ModuleHashes$HashSupplier hashSupplier(java.util.Map<java.lang.String, byte[]>, java.lang.String);
descriptor: (Ljava/util/Map;Ljava/lang/String;)Ljdk/internal/module/ModuleHashes$HashSupplier;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 2
start local 2 1: aload 2
ifnull 3
2: new jdk.internal.module.SystemModuleFinders$3
dup
aload 2
invokespecial jdk.internal.module.SystemModuleFinders$3.<init>:([B)V
areturn
3: StackMap locals: byte[]
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 nameToHash Ljava/util/Map<Ljava/lang/String;[B>;
0 4 1 name Ljava/lang/String;
1 4 2 hash [B
Signature: (Ljava/util/Map<Ljava/lang/String;[B>;Ljava/lang/String;)Ljdk/internal/module/ModuleHashes$HashSupplier;
MethodParameters:
Name Flags
nameToHash
name
private static byte[] lambda$0(jdk.internal.module.ModuleHashes, java.lang.String, java.lang.String);
descriptor: (Ljdk/internal/module/ModuleHashes;Ljava/lang/String;Ljava/lang/String;)[B
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 2 0: aload 0
aload 1
invokevirtual jdk.internal.module.ModuleHashes.hashFor:(Ljava/lang/String;)[B
areturn
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 1 2 k Ljava/lang/String;
}
SourceFile: "SystemModuleFinders.java"
NestMembers:
jdk.internal.module.SystemModuleFinders$1 jdk.internal.module.SystemModuleFinders$2 jdk.internal.module.SystemModuleFinders$3 jdk.internal.module.SystemModuleFinders$ModuleContentSpliterator jdk.internal.module.SystemModuleFinders$SystemImage jdk.internal.module.SystemModuleFinders$SystemModuleFinder jdk.internal.module.SystemModuleFinders$SystemModuleReader
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public abstract HashSupplier = jdk.internal.module.ModuleHashes$HashSupplier of jdk.internal.module.ModuleHashes
public final Attributes = jdk.internal.module.ModuleInfo$Attributes of jdk.internal.module.ModuleInfo
jdk.internal.module.SystemModuleFinders$1
jdk.internal.module.SystemModuleFinders$2
jdk.internal.module.SystemModuleFinders$3
private ModuleContentSpliterator = jdk.internal.module.SystemModuleFinders$ModuleContentSpliterator of jdk.internal.module.SystemModuleFinders
private SystemImage = jdk.internal.module.SystemModuleFinders$SystemImage of jdk.internal.module.SystemModuleFinders
private SystemModuleFinder = jdk.internal.module.SystemModuleFinders$SystemModuleFinder of jdk.internal.module.SystemModuleFinders
private SystemModuleReader = jdk.internal.module.SystemModuleFinders$SystemModuleReader of jdk.internal.module.SystemModuleFinders