public class com.sun.glass.utils.NativeLibLoader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.glass.utils.NativeLibLoader
super_class: java.lang.Object
{
private static final java.util.HashSet<java.lang.String> loaded;
descriptor: Ljava/util/HashSet;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/HashSet<Ljava/lang/String;>;
private static boolean verbose;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean usingModules;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.io.File libDir;
descriptor: Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String libPrefix;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String libSuffix;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic com.sun.glass.utils.NativeLibLoader.loaded:Ljava/util/HashSet;
1: iconst_0
putstatic com.sun.glass.utils.NativeLibLoader.verbose:Z
2: iconst_0
putstatic com.sun.glass.utils.NativeLibLoader.usingModules:Z
3: aconst_null
putstatic com.sun.glass.utils.NativeLibLoader.libDir:Ljava/io/File;
4: ldc ""
putstatic com.sun.glass.utils.NativeLibLoader.libPrefix:Ljava/lang/String;
5: ldc ""
putstatic com.sun.glass.utils.NativeLibLoader.libSuffix:Ljava/lang/String;
6: invokedynamic run()Ljava/security/PrivilegedAction;
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;
com/sun/glass/utils/NativeLibLoader.lambda$0()Ljava/lang/Object; (6)
()Ljava/lang/Object;
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
7: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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 Lcom/sun/glass/utils/NativeLibLoader;
public static synchronized void loadLibrary(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tStackWalker cannot be resolved to a type\n\tType mismatch: cannot convert from StackWalker to StackWalker\n\tStackWalker cannot be resolved to a type\n\tThis lambda expression refers to the missing type StackWalker\n\tStackWalker cannot be resolved\n\tStackWalker cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
libname
public static synchronized void loadLibrary(java.lang.String, java.util.List<java.lang.String>);
descriptor: (Ljava/lang/String;Ljava/util/List;)V
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tStackWalker cannot be resolved to a type\n\tThe method doPrivileged(PrivilegedAction<StackWalker>) from the type AccessController refers to the missing type StackWalker\n\tStackWalker cannot be resolved to a type\n\tThis lambda expression refers to the missing type StackWalker\n\tStackWalker cannot be resolved\n\tStackWalker cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
libname
dependencies
private static java.lang.String[] initializePath(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
ldc ""
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: getstatic java.io.File.pathSeparator:Ljava/lang/String;
astore 2
start local 2 2: aload 1
invokevirtual java.lang.String.length:()I
istore 3
start local 3 3: aload 1
aload 2
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 4
start local 4 4: iconst_0
istore 6
start local 6 5: goto 8
6: StackMap locals: java.lang.String java.lang.String java.lang.String int int top int
StackMap stack:
iinc 6 1
7: aload 1
aload 2
iload 4
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 4
8: StackMap locals:
StackMap stack:
iload 4
ifge 6
9: iload 6
iconst_1
iadd
anewarray java.lang.String
astore 7
start local 7 10: iconst_0
dup
istore 4
istore 6
11: aload 1
aload 2
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 5
start local 5 12: goto 20
13: StackMap locals: java.lang.String java.lang.String java.lang.String int int int int java.lang.String[]
StackMap stack:
iload 5
iload 4
isub
ifle 16
14: aload 7
iload 6
iinc 6 1
aload 1
iload 4
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aastore
15: goto 18
StackMap locals:
StackMap stack:
16: iload 5
iload 4
isub
ifne 18
17: aload 7
iload 6
iinc 6 1
ldc "."
aastore
18: StackMap locals:
StackMap stack:
iload 5
iconst_1
iadd
istore 4
19: aload 1
aload 2
iload 4
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 5
20: StackMap locals:
StackMap stack:
iload 5
ifge 13
21: aload 7
iload 6
aload 1
iload 4
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
aastore
22: aload 7
areturn
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 23 0 propname Ljava/lang/String;
1 23 1 ldpath Ljava/lang/String;
2 23 2 ps Ljava/lang/String;
3 23 3 ldlen I
4 23 4 i I
12 23 5 j I
5 23 6 n I
10 23 7 paths [Ljava/lang/String;
MethodParameters:
Name Flags
propname
private static void loadLibraryInternal(java.lang.String, java.util.List<java.lang.String>, java.lang.Class);
descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/lang/Class;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath:(Ljava/lang/String;)V
1: goto 38
StackMap locals:
StackMap stack: java.lang.UnsatisfiedLinkError
2: astore 3
start local 3 3: getstatic com.sun.glass.utils.NativeLibLoader.verbose:Z
ifeq 5
getstatic com.sun.glass.utils.NativeLibLoader.usingModules:Z
ifne 5
4: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "WARNING: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: StackMap locals: java.lang.UnsatisfiedLinkError
StackMap stack:
ldc "java.library.path"
invokestatic com.sun.glass.utils.NativeLibLoader.initializePath:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 6: iconst_0
istore 5
start local 5 7: goto 20
8: StackMap locals: java.lang.String[] int
StackMap stack:
aload 4
iload 5
aaload
astore 6
start local 6 9: aload 6
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 10
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
10: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 11: new java.io.File
dup
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 8
start local 8 12: aload 8
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokestatic java.lang.System.load:(Ljava/lang/String;)V
13: getstatic com.sun.glass.utils.NativeLibLoader.verbose:Z
ifeq 17
14: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Loaded "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: ldc " from java.library.path"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
17: StackMap locals: java.lang.String java.io.File
StackMap stack:
return
end local 8 end local 7 end local 6 18: StackMap locals: java.lang.String java.util.List java.lang.Class java.lang.UnsatisfiedLinkError java.lang.String[] int
StackMap stack: java.lang.UnsatisfiedLinkError
pop
19: iinc 5 1
StackMap locals:
StackMap stack:
20: iload 5
aload 4
arraylength
if_icmplt 8
end local 5 21: aload 0
invokestatic java.lang.System.loadLibrary:(Ljava/lang/String;)V
22: getstatic com.sun.glass.utils.NativeLibLoader.verbose:Z
ifeq 38
23: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "System.loadLibrary("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") succeeded"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
26: goto 38
StackMap locals: java.lang.String java.util.List java.lang.Class java.lang.UnsatisfiedLinkError java.lang.String[]
StackMap stack: java.lang.UnsatisfiedLinkError
27: astore 5
start local 5 28: aload 0
aload 1
aload 2
invokestatic com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource:(Ljava/lang/String;Ljava/util/List;Ljava/lang/Class;)Z
ifeq 30
29: return
30: StackMap locals: java.lang.UnsatisfiedLinkError
StackMap stack:
ldc "iOS"
ldc "os.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 37
31: aload 0
ldc "-"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 37
32: aload 0
ldc "-"
ldc "_"
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 0
33: aload 0
invokestatic java.lang.System.loadLibrary:(Ljava/lang/String;)V
34: return
35: StackMap locals:
StackMap stack: java.lang.UnsatisfiedLinkError
astore 6
start local 6 36: aload 6
athrow
end local 6 37: StackMap locals:
StackMap stack:
aload 5
athrow
end local 5 end local 4 end local 3 38: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 libraryName Ljava/lang/String;
0 39 1 dependencies Ljava/util/List<Ljava/lang/String;>;
0 39 2 caller Ljava/lang/Class;
3 38 3 ex Ljava/lang/UnsatisfiedLinkError;
6 38 4 libPath [Ljava/lang/String;
7 21 5 i I
9 18 6 path Ljava/lang/String;
11 18 7 fileName Ljava/lang/String;
12 18 8 libFile Ljava/io/File;
28 38 5 ex2 Ljava/lang/UnsatisfiedLinkError;
36 37 6 ex3 Ljava/lang/UnsatisfiedLinkError;
Exception table:
from to target type
0 1 2 Class java.lang.UnsatisfiedLinkError
8 17 18 Class java.lang.UnsatisfiedLinkError
21 26 27 Class java.lang.UnsatisfiedLinkError
33 34 35 Class java.lang.UnsatisfiedLinkError
Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Class;)V
MethodParameters:
Name Flags
libraryName
dependencies
caller
private static boolean loadLibraryFromResource(java.lang.String, java.util.List<java.lang.String>, java.lang.Class);
descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokestatic com.sun.glass.utils.NativeLibLoader.installLibraryFromResource:(Ljava/lang/String;Ljava/util/List;Ljava/lang/Class;Z)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 libraryName Ljava/lang/String;
0 1 1 dependencies Ljava/util/List<Ljava/lang/String;>;
0 1 2 caller Ljava/lang/Class;
Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Class;)Z
MethodParameters:
Name Flags
libraryName
dependencies
caller
private static boolean installLibraryFromResource(java.lang.String, java.util.List<java.lang.String>, java.lang.Class, );
descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/lang/Class;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 5
1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 4
StackMap locals: java.lang.String java.util.List java.lang.Class int top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 3: aload 4
aconst_null
aload 2
iconst_0
invokestatic com.sun.glass.utils.NativeLibLoader.installLibraryFromResource:(Ljava/lang/String;Ljava/util/List;Ljava/lang/Class;Z)Z
pop
end local 4 4: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: StackMap locals: java.lang.String java.util.List java.lang.Class int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 6: aload 2
aload 4
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 5
start local 5 7: aload 5
ifnull 20
8: aload 5
aload 4
aload 2
invokestatic com.sun.glass.utils.NativeLibLoader.cacheLibrary:(Ljava/io/InputStream;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/String;
astore 6
start local 6 9: iload 3
ifeq 14
10: aload 6
invokestatic java.lang.System.load:(Ljava/lang/String;)V
11: getstatic com.sun.glass.utils.NativeLibLoader.verbose:Z
ifeq 16
12: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Loaded library "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " from resource"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: goto 16
StackMap locals: java.lang.String java.io.InputStream java.lang.String
StackMap stack:
14: getstatic com.sun.glass.utils.NativeLibLoader.verbose:Z
ifeq 16
15: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Unpacked library "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " from resource"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 6 end local 5 end local 4 17: StackMap locals: java.lang.String java.util.List java.lang.Class int
StackMap stack: java.lang.Throwable
astore 4
start local 4 18: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Loading library "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " from resource failed: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
19: aload 4
invokevirtual java.lang.Throwable.printStackTrace:()V
end local 4 20: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 libraryName Ljava/lang/String;
0 21 1 dependencies Ljava/util/List<Ljava/lang/String;>;
0 21 2 caller Ljava/lang/Class;
0 21 3 load Z
3 4 4 dep Ljava/lang/String;
6 17 4 reallib Ljava/lang/String;
7 17 5 is Ljava/io/InputStream;
9 17 6 fp Ljava/lang/String;
18 20 4 t Ljava/lang/Throwable;
Exception table:
from to target type
0 16 17 Class java.lang.Throwable
Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/Class;Z)Z
MethodParameters:
Name Flags
libraryName
dependencies
caller
load
private static java.lang.String cacheLibrary(java.io.InputStream, java.lang.String, java.lang.Class);
descriptor: (Ljava/io/InputStream;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=13, args_size=3
start local 0 start local 1 start local 2 0: ldc "javafx.version"
ldc "versionless"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: ldc "javafx.cachedir"
ldc ""
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 2: aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifeq 4
3: new java.lang.StringBuilder
dup
ldc "user.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/.openjfx/cache/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
4: StackMap locals: java.lang.String java.lang.String
StackMap stack:
new java.io.File
dup
aload 4
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 5
start local 5 5: iconst_1
istore 6
start local 6 6: aload 5
invokevirtual java.io.File.exists:()Z
ifeq 11
7: aload 5
invokevirtual java.io.File.isDirectory:()Z
ifne 14
8: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Cache exists but is not a directory: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: iconst_0
istore 6
10: goto 14
11: StackMap locals: java.io.File int
StackMap stack:
aload 5
invokevirtual java.io.File.mkdirs:()Z
ifne 14
12: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Can not create cache at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: iconst_0
istore 6
14: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.io.File.canRead:()Z
ifne 16
15: iconst_0
istore 6
16: StackMap locals:
StackMap stack:
iload 6
ifne 25
17: ldc "user.name"
ldc "anonymous"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 18: new java.lang.StringBuilder
dup
ldc "java.io.tmpdir"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/.openjfx_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/cache/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
start local 8 19: new java.io.File
dup
aload 8
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 5
20: aload 5
invokevirtual java.io.File.exists:()Z
ifeq 23
21: aload 5
invokevirtual java.io.File.isDirectory:()Z
ifne 25
22: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Cache exists but is not a directory: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 5
invokevirtual java.io.File.mkdirs:()Z
ifne 25
24: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Can not create cache at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 8 end local 7 25: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 5
aload 1
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 7
start local 7 26: iconst_1
istore 8
start local 8 27: aload 7
invokevirtual java.io.File.exists:()Z
ifeq 43
28: new java.security.DigestInputStream
dup
aload 0
ldc "MD5"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
invokespecial java.security.DigestInputStream.<init>:(Ljava/io/InputStream;Ljava/security/MessageDigest;)V
astore 11
start local 11 29: aload 11
invokevirtual java.security.DigestInputStream.getMessageDigest:()Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.reset:()V
30: sipush 4096
newarray 8
astore 12
start local 12 31: StackMap locals: java.io.InputStream java.lang.String java.lang.Class java.lang.String java.lang.String java.io.File int java.io.File int top top java.security.DigestInputStream byte[]
StackMap stack:
aload 11
aload 12
invokevirtual java.security.DigestInputStream.read:([B)I
iconst_m1
if_icmpne 31
32: aload 11
invokevirtual java.security.DigestInputStream.getMessageDigest:()Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.digest:()[B
astore 9
start local 9 33: aload 0
invokevirtual java.io.InputStream.close:()V
34: aload 2
aload 1
invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
astore 0
end local 12 end local 11 35: goto 38
end local 9 36: StackMap locals: java.io.InputStream java.lang.String java.lang.Class java.lang.String java.lang.String java.io.File int java.io.File int
StackMap stack: java.security.NoSuchAlgorithmException
pop
37: iconst_1
newarray 8
astore 9
start local 9 38: StackMap locals: byte[]
StackMap stack:
aload 7
invokestatic com.sun.glass.utils.NativeLibLoader.calculateCheckSum:(Ljava/io/File;)[B
astore 10
start local 10 39: aload 9
aload 10
invokestatic java.util.Arrays.equals:([B[B)Z
ifne 42
40: aload 7
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
41: goto 43
42: StackMap locals: byte[]
StackMap stack:
iconst_0
istore 8
end local 10 end local 9 43: StackMap locals:
StackMap stack:
iload 8
ifeq 46
44: aload 7
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
astore 9
start local 9 45: aload 0
aload 9
iconst_0
anewarray java.nio.file.CopyOption
invokestatic java.nio.file.Files.copy:(Ljava/io/InputStream;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)J
pop2
end local 9 46: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
astore 9
start local 9 47: aload 9
areturn
end local 9 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 48 0 is Ljava/io/InputStream;
0 48 1 name Ljava/lang/String;
0 48 2 caller Ljava/lang/Class;
1 48 3 jfxVersion Ljava/lang/String;
2 48 4 userCache Ljava/lang/String;
5 48 5 cacheDir Ljava/io/File;
6 48 6 cacheDirOk Z
18 25 7 username Ljava/lang/String;
19 25 8 tmpCache Ljava/lang/String;
26 48 7 f Ljava/io/File;
27 48 8 write Z
33 36 9 isHash [B
38 43 9 isHash [B
39 43 10 fileHash [B
29 35 11 dis Ljava/security/DigestInputStream;
31 35 12 buffer [B
45 46 9 path Ljava/nio/file/Path;
47 48 9 fp Ljava/lang/String;
Exception table:
from to target type
28 35 36 Class java.security.NoSuchAlgorithmException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
is
name
caller
static byte[] calculateCheckSum(java.io.File);
descriptor: (Ljava/io/File;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: new java.io.FileInputStream
dup
aload 0
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 3
start local 3 2: new java.security.DigestInputStream
dup
aload 3
ldc "MD5"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
invokespecial java.security.DigestInputStream.<init>:(Ljava/io/InputStream;Ljava/security/MessageDigest;)V
astore 4
start local 4 3: aload 4
invokevirtual java.security.DigestInputStream.getMessageDigest:()Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.reset:()V
4: sipush 4096
newarray 8
astore 5
start local 5 5: StackMap locals: java.io.File java.lang.Throwable java.lang.Throwable java.io.InputStream java.security.DigestInputStream byte[]
StackMap stack:
aload 4
aload 5
invokevirtual java.security.DigestInputStream.read:([B)I
iconst_m1
if_icmpne 5
6: aload 4
invokevirtual java.security.DigestInputStream.getMessageDigest:()Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.digest:()[B
7: aload 4
ifnull 8
aload 4
invokevirtual java.security.DigestInputStream.close:()V
StackMap locals:
StackMap stack: byte[]
8: aload 3
ifnull 9
aload 3
invokevirtual java.io.InputStream.close:()V
9: StackMap locals:
StackMap stack: byte[]
areturn
end local 5 StackMap locals: java.io.File java.lang.Throwable java.lang.Throwable java.io.InputStream java.security.DigestInputStream
StackMap stack: java.lang.Throwable
10: astore 1
11: aload 4
ifnull 12
aload 4
invokevirtual java.security.DigestInputStream.close:()V
end local 4 StackMap locals:
StackMap stack:
12: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 2
aload 1
ifnonnull 14
aload 2
astore 1
goto 15
StackMap locals:
StackMap stack:
14: aload 1
aload 2
if_acmpeq 15
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 3
ifnull 16
aload 3
invokevirtual java.io.InputStream.close:()V
end local 3 StackMap locals:
StackMap stack:
16: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 2
aload 1
ifnonnull 18
aload 2
astore 1
goto 19
StackMap locals:
StackMap stack:
18: aload 1
aload 2
if_acmpeq 19
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
19: aload 1
athrow
20: StackMap locals: java.io.File
StackMap stack: java.lang.Exception
pop
21: iconst_0
newarray 8
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 file Ljava/io/File;
2 16 3 stream Ljava/io/InputStream;
3 12 4 dis Ljava/security/DigestInputStream;
5 10 5 buffer [B
Exception table:
from to target type
3 7 10 any
2 8 13 any
10 13 13 any
1 9 17 any
10 17 17 any
0 9 20 Class java.lang.IllegalArgumentException
10 20 20 Class java.lang.IllegalArgumentException
0 9 20 Class java.security.NoSuchAlgorithmException
10 20 20 Class java.security.NoSuchAlgorithmException
0 9 20 Class java.io.IOException
10 20 20 Class java.io.IOException
0 9 20 Class java.lang.SecurityException
10 20 20 Class java.lang.SecurityException
MethodParameters:
Name Flags
file
private static void loadLibraryFullPath(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=1
start local 0 0: getstatic com.sun.glass.utils.NativeLibLoader.usingModules:Z
ifeq 2
1: new java.lang.UnsatisfiedLinkError
dup
ldc "ignored"
invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic com.sun.glass.utils.NativeLibLoader.libDir:Ljava/io/File;
ifnonnull 38
3: ldc "NativeLibLoader.class"
astore 1
start local 1 4: ldc Lcom/sun/glass/utils/NativeLibLoader;
astore 2
start local 2 5: aload 2
aload 1
invokevirtual java.lang.Class.getResource:(Ljava/lang/String;)Ljava/net/URL;
invokevirtual java.net.URL.toString:()Ljava/lang/String;
astore 3
start local 3 6: aload 3
ldc "jrt:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 9
7: iconst_1
putstatic com.sun.glass.utils.NativeLibLoader.usingModules:Z
8: new java.lang.UnsatisfiedLinkError
dup
ldc "ignored"
invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.lang.String java.lang.Class java.lang.String
StackMap stack:
aload 3
ldc "jar:file:"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 10
aload 3
bipush 33
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 11
10: StackMap locals:
StackMap stack:
new java.lang.UnsatisfiedLinkError
dup
new java.lang.StringBuilder
dup
ldc "Invalid URL for class: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 3
iconst_4
aload 3
bipush 33
invokevirtual java.lang.String.lastIndexOf:(I)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
start local 4 12: aload 4
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
aload 4
bipush 92
invokevirtual java.lang.String.lastIndexOf:(I)I
invokestatic java.lang.Math.max:(II)I
istore 5
start local 5 13: ldc "os.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 14: aconst_null
astore 7
start local 7 15: aload 6
ldc "Windows"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 18
16: ldc "../bin"
astore 7
17: goto 23
StackMap locals: java.lang.String java.lang.String java.lang.Class java.lang.String java.lang.String int java.lang.String java.lang.String
StackMap stack:
18: aload 6
ldc "Mac"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 21
19: ldc "."
astore 7
20: goto 23
StackMap locals:
StackMap stack:
21: aload 6
ldc "Linux"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 23
22: ldc "."
astore 7
23: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 4
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8
start local 8 26: new java.io.File
dup
new java.net.URI
dup
aload 8
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
putstatic com.sun.glass.utils.NativeLibLoader.libDir:Ljava/io/File;
27: aload 6
ldc "Windows"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 31
28: ldc ""
putstatic com.sun.glass.utils.NativeLibLoader.libPrefix:Ljava/lang/String;
29: ldc ".dll"
putstatic com.sun.glass.utils.NativeLibLoader.libSuffix:Ljava/lang/String;
30: goto 38
StackMap locals: java.lang.String
StackMap stack:
31: aload 6
ldc "Mac"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 35
32: ldc "lib"
putstatic com.sun.glass.utils.NativeLibLoader.libPrefix:Ljava/lang/String;
33: ldc ".dylib"
putstatic com.sun.glass.utils.NativeLibLoader.libSuffix:Ljava/lang/String;
34: goto 38
StackMap locals:
StackMap stack:
35: aload 6
ldc "Linux"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 38
36: ldc "lib"
putstatic com.sun.glass.utils.NativeLibLoader.libPrefix:Ljava/lang/String;
37: ldc ".so"
putstatic com.sun.glass.utils.NativeLibLoader.libSuffix:Ljava/lang/String;
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 38: StackMap locals: java.lang.String
StackMap stack:
new java.io.File
dup
getstatic com.sun.glass.utils.NativeLibLoader.libDir:Ljava/io/File;
new java.lang.StringBuilder
dup
getstatic com.sun.glass.utils.NativeLibLoader.libPrefix:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic com.sun.glass.utils.NativeLibLoader.libSuffix:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 1
start local 1 39: aload 1
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
astore 2
start local 2 40: aload 2
invokestatic java.lang.System.load:(Ljava/lang/String;)V
41: getstatic com.sun.glass.utils.NativeLibLoader.verbose:Z
ifeq 50
42: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Loaded "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
43: ldc " from relative path"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
45: goto 50
StackMap locals: java.lang.String java.io.File java.lang.String
StackMap stack: java.lang.UnsatisfiedLinkError
46: astore 3
start local 3 47: aload 3
athrow
end local 3 end local 2 end local 1 48: StackMap locals: java.lang.String
StackMap stack: java.lang.Exception
astore 1
start local 1 49: new java.lang.UnsatisfiedLinkError
dup
invokespecial java.lang.UnsatisfiedLinkError.<init>:()V
aload 1
invokevirtual java.lang.UnsatisfiedLinkError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
checkcast java.lang.UnsatisfiedLinkError
athrow
end local 1 50: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 libraryName Ljava/lang/String;
4 38 1 theClassFile Ljava/lang/String;
5 38 2 theClass Ljava/lang/Class;
6 38 3 classUrlString Ljava/lang/String;
12 38 4 tmpStr Ljava/lang/String;
13 38 5 lastIndexOfSlash I
14 38 6 osName Ljava/lang/String;
15 38 7 relativeDir Ljava/lang/String;
26 38 8 libDirUrlString Ljava/lang/String;
39 48 1 libFile Ljava/io/File;
40 48 2 libFileName Ljava/lang/String;
47 48 3 ex Ljava/lang/UnsatisfiedLinkError;
49 50 1 e Ljava/lang/Exception;
Exception table:
from to target type
40 45 46 Class java.lang.UnsatisfiedLinkError
0 48 48 Class java.lang.Exception
MethodParameters:
Name Flags
libraryName
private static java.lang.Object lambda$0();
descriptor: ()Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: ldc "javafx.verbose"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic com.sun.glass.utils.NativeLibLoader.verbose:Z
1: aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "NativeLibLoader.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles