class org.xnio.nio.NioXnio$3 implements java.security.PrivilegedAction<java.lang.Object[]>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.xnio.nio.NioXnio$3
super_class: java.lang.Object
{
final org.xnio.nio.NioXnio this$0;
descriptor: Lorg/xnio/nio/NioXnio;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(org.xnio.nio.NioXnio);
descriptor: (Lorg/xnio/nio/NioXnio;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield org.xnio.nio.NioXnio$3.this$0:Lorg/xnio/nio/NioXnio;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/nio/NioXnio$3;
MethodParameters:
Name Flags
this$0 final
public java.lang.Object[] run();
descriptor: ()[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=1
start local 0 0: invokestatic java.nio.channels.spi.SelectorProvider.provider:()Ljava/nio/channels/spi/SelectorProvider;
astore 1
start local 1 1: ldc "xnio.nio.selector.provider"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aload 2
ifnull 9
4: aload 2
iconst_1
ldc Lorg/xnio/nio/NioXnio;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
ldc Ljava/nio/channels/spi/SelectorProvider;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.channels.spi.SelectorProvider
astore 3
5: aload 3
invokevirtual java.nio.channels.spi.SelectorProvider.openSelector:()Ljava/nio/channels/spi/AbstractSelector;
invokevirtual java.nio.channels.spi.AbstractSelector.close:()V
6: goto 9
StackMap locals: org.xnio.nio.NioXnio$3 java.nio.channels.spi.SelectorProvider java.lang.String java.nio.channels.spi.SelectorProvider
StackMap stack: java.lang.Throwable
7: pop
8: aconst_null
astore 3
9: StackMap locals:
StackMap stack:
aload 3
ifnonnull 15
10: ldc "sun.nio.ch.KQueueSelectorProvider"
iconst_1
ldc Lorg/xnio/nio/NioXnio;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
ldc Ljava/nio/channels/spi/SelectorProvider;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.channels.spi.SelectorProvider
astore 3
11: aload 3
invokevirtual java.nio.channels.spi.SelectorProvider.openSelector:()Ljava/nio/channels/spi/AbstractSelector;
invokevirtual java.nio.channels.spi.AbstractSelector.close:()V
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: pop
14: aconst_null
astore 3
15: StackMap locals:
StackMap stack:
aload 3
ifnonnull 21
16: ldc "sun.nio.ch.EPollSelectorProvider"
iconst_1
ldc Lorg/xnio/nio/NioXnio;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
ldc Ljava/nio/channels/spi/SelectorProvider;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.channels.spi.SelectorProvider
astore 3
17: aload 3
invokevirtual java.nio.channels.spi.SelectorProvider.openSelector:()Ljava/nio/channels/spi/AbstractSelector;
invokevirtual java.nio.channels.spi.AbstractSelector.close:()V
18: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
19: pop
20: aconst_null
astore 3
21: StackMap locals:
StackMap stack:
aload 3
ifnonnull 27
getstatic org.xnio.nio.NioXnio.HAS_BUGGY_EVENT_PORT:Z
ifne 27
22: ldc "sun.nio.ch.EventPortSelectorProvider"
iconst_1
ldc Lorg/xnio/nio/NioXnio;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
ldc Ljava/nio/channels/spi/SelectorProvider;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.channels.spi.SelectorProvider
astore 3
23: aload 3
invokevirtual java.nio.channels.spi.SelectorProvider.openSelector:()Ljava/nio/channels/spi/AbstractSelector;
invokevirtual java.nio.channels.spi.AbstractSelector.close:()V
24: goto 27
StackMap locals:
StackMap stack: java.lang.Throwable
25: pop
26: aconst_null
astore 3
27: StackMap locals:
StackMap stack:
aload 3
ifnonnull 33
28: ldc "sun.nio.ch.DevPollSelectorProvider"
iconst_1
ldc Lorg/xnio/nio/NioXnio;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
ldc Ljava/nio/channels/spi/SelectorProvider;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.channels.spi.SelectorProvider
astore 3
29: aload 3
invokevirtual java.nio.channels.spi.SelectorProvider.openSelector:()Ljava/nio/channels/spi/AbstractSelector;
invokevirtual java.nio.channels.spi.AbstractSelector.close:()V
30: goto 33
StackMap locals:
StackMap stack: java.lang.Throwable
31: pop
32: aconst_null
astore 3
33: StackMap locals:
StackMap stack:
aload 3
ifnonnull 39
34: ldc "sun.nio.ch.EventPortSelectorProvider"
iconst_1
ldc Lorg/xnio/nio/NioXnio;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
ldc Ljava/nio/channels/spi/SelectorProvider;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.channels.spi.SelectorProvider
astore 3
35: aload 3
invokevirtual java.nio.channels.spi.SelectorProvider.openSelector:()Ljava/nio/channels/spi/AbstractSelector;
invokevirtual java.nio.channels.spi.AbstractSelector.close:()V
36: goto 39
StackMap locals:
StackMap stack: java.lang.Throwable
37: pop
38: aconst_null
astore 3
39: StackMap locals:
StackMap stack:
aload 3
ifnonnull 45
40: ldc "sun.nio.ch.PollsetSelectorProvider"
iconst_1
ldc Lorg/xnio/nio/NioXnio;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
ldc Ljava/nio/channels/spi/SelectorProvider;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.channels.spi.SelectorProvider
astore 3
41: aload 3
invokevirtual java.nio.channels.spi.SelectorProvider.openSelector:()Ljava/nio/channels/spi/AbstractSelector;
invokevirtual java.nio.channels.spi.AbstractSelector.close:()V
42: goto 45
StackMap locals:
StackMap stack: java.lang.Throwable
43: pop
44: aconst_null
astore 3
45: StackMap locals:
StackMap stack:
aload 3
ifnonnull 50
46: aload 1
invokevirtual java.nio.channels.spi.SelectorProvider.openSelector:()Ljava/nio/channels/spi/AbstractSelector;
invokevirtual java.nio.channels.spi.AbstractSelector.close:()V
47: aload 1
astore 3
48: goto 50
StackMap locals:
StackMap stack: java.lang.Throwable
49: pop
50: StackMap locals:
StackMap stack:
aload 3
ifnonnull 56
51: ldc "sun.nio.ch.PollSelectorProvider"
iconst_1
ldc Lorg/xnio/nio/NioXnio;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
ldc Ljava/nio/channels/spi/SelectorProvider;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.channels.spi.SelectorProvider
astore 3
52: aload 3
invokevirtual java.nio.channels.spi.SelectorProvider.openSelector:()Ljava/nio/channels/spi/AbstractSelector;
invokevirtual java.nio.channels.spi.AbstractSelector.close:()V
53: goto 56
StackMap locals:
StackMap stack: java.lang.Throwable
54: pop
55: aconst_null
astore 3
56: StackMap locals:
StackMap stack:
aload 3
ifnonnull 58
57: getstatic org.xnio.nio.Log.log:Lorg/xnio/nio/Log;
invokeinterface org.xnio.nio.Log.noSelectorProvider:()Ljava/lang/IllegalStateException;
athrow
58: StackMap locals:
StackMap stack:
getstatic org.xnio.nio.Log.log:Lorg/xnio/nio/Log;
aload 3
invokeinterface org.xnio.nio.Log.selectorProvider:(Ljava/nio/channels/spi/SelectorProvider;)V
59: ldc "sun.nio.ch.PollSelectorProvider"
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 4
start local 4 60: ldc "xnio.nio.selector.main"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 61: ldc "xnio.nio.selector.temp"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 62: new org.xnio.nio.NioXnio$DefaultSelectorCreator
dup
aload 3
invokespecial org.xnio.nio.NioXnio$DefaultSelectorCreator.<init>:(Ljava/nio/channels/spi/SelectorProvider;)V
astore 7
start local 7 63: iconst_3
anewarray java.lang.Object
astore 8
start local 8 64: aload 8
iconst_0
aload 3
aastore
65: aload 6
ifnull 71
66: new org.xnio.nio.NioXnio$ConstructorSelectorCreator
dup
aload 6
aload 3
invokespecial org.xnio.nio.NioXnio$ConstructorSelectorCreator.<init>:(Ljava/lang/String;Ljava/nio/channels/spi/SelectorProvider;)V
astore 9
start local 9 67: aload 9
invokevirtual org.xnio.nio.NioXnio$ConstructorSelectorCreator.open:()Ljava/nio/channels/Selector;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/nio/channels/Selector;)V
68: aload 8
iconst_1
aload 9
aastore
end local 9 69: goto 71
StackMap locals: org.xnio.nio.NioXnio$3 java.nio.channels.spi.SelectorProvider java.lang.String java.nio.channels.spi.SelectorProvider int java.lang.String java.lang.String org.xnio.nio.NioXnio$SelectorCreator java.lang.Object[]
StackMap stack: java.lang.Exception
70: pop
71: StackMap locals:
StackMap stack:
aload 5
ifnull 77
72: new org.xnio.nio.NioXnio$ConstructorSelectorCreator
dup
aload 5
aload 3
invokespecial org.xnio.nio.NioXnio$ConstructorSelectorCreator.<init>:(Ljava/lang/String;Ljava/nio/channels/spi/SelectorProvider;)V
astore 9
start local 9 73: aload 9
invokevirtual org.xnio.nio.NioXnio$ConstructorSelectorCreator.open:()Ljava/nio/channels/Selector;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/nio/channels/Selector;)V
74: aload 8
iconst_2
aload 9
aastore
end local 9 75: goto 77
StackMap locals:
StackMap stack: java.lang.Exception
76: pop
77: StackMap locals:
StackMap stack:
iload 4
ifne 84
78: aload 8
iconst_1
aaload
ifnonnull 84
79: ldc "sun.nio.ch.PollSelectorProvider"
iconst_1
ldc Lorg/xnio/nio/NioXnio;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
ldc Ljava/nio/channels/spi/SelectorProvider;
invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.nio.channels.spi.SelectorProvider
astore 9
start local 9 80: aload 9
invokevirtual java.nio.channels.spi.SelectorProvider.openSelector:()Ljava/nio/channels/spi/AbstractSelector;
invokevirtual java.nio.channels.spi.AbstractSelector.close:()V
81: aload 8
iconst_1
new org.xnio.nio.NioXnio$DefaultSelectorCreator
dup
aload 3
invokespecial org.xnio.nio.NioXnio$DefaultSelectorCreator.<init>:(Ljava/nio/channels/spi/SelectorProvider;)V
aastore
end local 9 82: goto 84
StackMap locals:
StackMap stack: java.lang.Exception
83: pop
84: StackMap locals:
StackMap stack:
aload 8
iconst_1
aaload
ifnonnull 86
85: aload 8
iconst_1
aload 7
aastore
86: StackMap locals:
StackMap stack:
aload 8
iconst_2
aaload
ifnonnull 88
87: aload 8
iconst_2
aload 7
aastore
88: StackMap locals:
StackMap stack:
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 89 0 this Lorg/xnio/nio/NioXnio$3;
1 89 1 defaultProvider Ljava/nio/channels/spi/SelectorProvider;
2 89 2 chosenProvider Ljava/lang/String;
3 89 3 provider Ljava/nio/channels/spi/SelectorProvider;
60 89 4 defaultIsPoll Z
61 89 5 chosenMainSelector Ljava/lang/String;
62 89 6 chosenTempSelector Ljava/lang/String;
63 89 7 defaultSelectorCreator Lorg/xnio/nio/NioXnio$SelectorCreator;
64 89 8 objects [Ljava/lang/Object;
67 69 9 creator Lorg/xnio/nio/NioXnio$ConstructorSelectorCreator;
73 75 9 creator Lorg/xnio/nio/NioXnio$ConstructorSelectorCreator;
80 82 9 pollSelectorProvider Ljava/nio/channels/spi/SelectorProvider;
Exception table:
from to target type
4 6 7 Class java.lang.Throwable
10 12 13 Class java.lang.Throwable
16 18 19 Class java.lang.Throwable
22 24 25 Class java.lang.Throwable
28 30 31 Class java.lang.Throwable
34 36 37 Class java.lang.Throwable
40 42 43 Class java.lang.Throwable
46 48 49 Class java.lang.Throwable
51 53 54 Class java.lang.Throwable
66 69 70 Class java.lang.Exception
72 75 76 Class java.lang.Exception
79 82 83 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 org.xnio.nio.NioXnio$3.run:()[Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/security/PrivilegedAction<[Ljava/lang/Object;>;
SourceFile: "NioXnio.java"
EnclosingMethod: org.xnio.nio.NioXnio.<init>:()V
NestHost: org.xnio.nio.NioXnio
InnerClasses:
org.xnio.nio.NioXnio$3
private ConstructorSelectorCreator = org.xnio.nio.NioXnio$ConstructorSelectorCreator of org.xnio.nio.NioXnio
private DefaultSelectorCreator = org.xnio.nio.NioXnio$DefaultSelectorCreator of org.xnio.nio.NioXnio