class sun.security.provider.NativePRNG$1 implements java.security.PrivilegedAction<sun.security.provider.NativePRNG$RandomIO>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.provider.NativePRNG$1
super_class: java.lang.Object
{
private final sun.security.provider.NativePRNG$Variant val$v;
descriptor: Lsun/security/provider/NativePRNG$Variant;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$sun$security$provider$NativePRNG$Variant;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
void <init>(sun.security.provider.NativePRNG$Variant);
descriptor: (Lsun/security/provider/NativePRNG$Variant;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield sun.security.provider.NativePRNG$1.val$v:Lsun/security/provider/NativePRNG$Variant;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/NativePRNG$1;
MethodParameters:
Name Flags
val$v final
public sun.security.provider.NativePRNG$RandomIO run();
descriptor: ()Lsun/security/provider/NativePRNG$RandomIO;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: invokestatic sun.security.provider.NativePRNG$1.$SWITCH_TABLE$sun$security$provider$NativePRNG$Variant:()[I
aload 0
getfield sun.security.provider.NativePRNG$1.val$v:Lsun/security/provider/NativePRNG$Variant;
invokevirtual sun.security.provider.NativePRNG$Variant.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 1
2: 13
3: 16
default: 19
}
1: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 2: invokestatic sun.security.provider.NativePRNG.getEgdUrl:()Ljava/net/URL;
dup
astore 3
start local 3 3: ifnull 7
4: aload 3
invokestatic sun.security.provider.SunEntries.getDeviceFile:(Ljava/net/URL;)Ljava/io/File;
astore 4
5: goto 7
StackMap locals: sun.security.provider.NativePRNG$1 top top java.net.URL java.io.File
StackMap stack: java.io.IOException
6: pop
7: StackMap locals:
StackMap stack:
aload 4
ifnull 10
aload 4
invokevirtual java.io.File.canRead:()Z
ifeq 10
8: aload 4
astore 1
start local 1 9: goto 11
end local 1 10: StackMap locals:
StackMap stack:
new java.io.File
dup
ldc "/dev/random"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 11: StackMap locals: sun.security.provider.NativePRNG$1 java.io.File top java.net.URL java.io.File
StackMap stack:
new java.io.File
dup
ldc "/dev/urandom"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 2
start local 2 12: goto 20
end local 4 end local 3 end local 2 end local 1 13: StackMap locals: sun.security.provider.NativePRNG$1
StackMap stack:
new java.io.File
dup
ldc "/dev/random"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 14: new java.io.File
dup
ldc "/dev/random"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 2
start local 2 15: goto 20
end local 2 end local 1 16: StackMap locals:
StackMap stack:
new java.io.File
dup
ldc "/dev/urandom"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 17: new java.io.File
dup
ldc "/dev/urandom"
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 2
start local 2 18: goto 20
end local 2 end local 1 19: StackMap locals:
StackMap stack:
aconst_null
areturn
start local 1 start local 2 20: StackMap locals: java.io.File java.io.File
StackMap stack:
getstatic sun.security.provider.NativePRNG.debug:Lsun/security/util/Debug;
ifnull 25
21: getstatic sun.security.provider.NativePRNG.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "NativePRNG."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.NativePRNG$1.val$v:Lsun/security/provider/NativePRNG$Variant;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
22: ldc " seedFile: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
23: ldc " nextFile: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
24: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.File.canRead:()Z
ifeq 26
aload 2
invokevirtual java.io.File.canRead:()Z
ifne 31
26: StackMap locals:
StackMap stack:
getstatic sun.security.provider.NativePRNG.debug:Lsun/security/util/Debug;
ifnull 30
27: getstatic sun.security.provider.NativePRNG.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "NativePRNG."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.NativePRNG$1.val$v:Lsun/security/provider/NativePRNG$Variant;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
28: ldc " Couldn't read Files."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
30: StackMap locals:
StackMap stack:
aconst_null
areturn
31: StackMap locals:
StackMap stack:
new sun.security.provider.NativePRNG$RandomIO
dup
aload 1
aload 2
invokespecial sun.security.provider.NativePRNG$RandomIO.<init>:(Ljava/io/File;Ljava/io/File;)V
32: areturn
33: StackMap locals:
StackMap stack: java.lang.Exception
pop
34: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lsun/security/provider/NativePRNG$1;
9 10 1 seedFile Ljava/io/File;
11 13 1 seedFile Ljava/io/File;
14 16 1 seedFile Ljava/io/File;
17 19 1 seedFile Ljava/io/File;
20 35 1 seedFile Ljava/io/File;
12 13 2 nextFile Ljava/io/File;
15 16 2 nextFile Ljava/io/File;
18 19 2 nextFile Ljava/io/File;
20 35 2 nextFile Ljava/io/File;
3 13 3 egdUrl Ljava/net/URL;
2 13 4 egdFile Ljava/io/File;
Exception table:
from to target type
4 5 6 Class java.io.IOException
31 32 33 Class java.lang.Exception
public java.lang.Object run();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual sun.security.provider.NativePRNG$1.run:()Lsun/security/provider/NativePRNG$RandomIO;
areturn
LocalVariableTable:
Start End Slot Name Signature
static int[] $SWITCH_TABLE$sun$security$provider$NativePRNG$Variant();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic sun.security.provider.NativePRNG$1.$SWITCH_TABLE$sun$security$provider$NativePRNG$Variant:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic sun.security.provider.NativePRNG$Variant.values:()[Lsun/security/provider/NativePRNG$Variant;
arraylength
newarray 10
astore 0
2: aload 0
getstatic sun.security.provider.NativePRNG$Variant.BLOCKING:Lsun/security/provider/NativePRNG$Variant;
invokevirtual sun.security.provider.NativePRNG$Variant.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic sun.security.provider.NativePRNG$Variant.MIXED:Lsun/security/provider/NativePRNG$Variant;
invokevirtual sun.security.provider.NativePRNG$Variant.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic sun.security.provider.NativePRNG$Variant.NONBLOCKING:Lsun/security/provider/NativePRNG$Variant;
invokevirtual sun.security.provider.NativePRNG$Variant.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic sun.security.provider.NativePRNG$1.$SWITCH_TABLE$sun$security$provider$NativePRNG$Variant:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
Signature: Ljava/lang/Object;Ljava/security/PrivilegedAction<Lsun/security/provider/NativePRNG$RandomIO;>;
SourceFile: "NativePRNG.java"
EnclosingMethod: sun.security.provider.NativePRNG.initIO:(Lsun/security/provider/NativePRNG$Variant;)Lsun/security/provider/NativePRNG$RandomIO;
NestHost: sun.security.provider.NativePRNG
InnerClasses:
sun.security.provider.NativePRNG$1
private RandomIO = sun.security.provider.NativePRNG$RandomIO of sun.security.provider.NativePRNG
private final Variant = sun.security.provider.NativePRNG$Variant of sun.security.provider.NativePRNG