final class sun.nio.ch.WindowsSelectorImpl$SelectThread extends java.lang.Thread
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.nio.ch.WindowsSelectorImpl$SelectThread
super_class: java.lang.Thread
{
private final int index;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final sun.nio.ch.WindowsSelectorImpl$SubSelector subSelector;
descriptor: Lsun/nio/ch/WindowsSelectorImpl$SubSelector;
flags: (0x0010) ACC_FINAL
private long lastRun;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private volatile boolean zombie;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
final sun.nio.ch.WindowsSelectorImpl this$0;
descriptor: Lsun/nio/ch/WindowsSelectorImpl;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(sun.nio.ch.WindowsSelectorImpl, int);
descriptor: (Lsun/nio/ch/WindowsSelectorImpl;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield sun.nio.ch.WindowsSelectorImpl$SelectThread.this$0:Lsun/nio/ch/WindowsSelectorImpl;
1: aload 0
aconst_null
aconst_null
ldc "SelectorHelper"
lconst_0
iconst_0
invokespecial java.lang.Thread.<init>:(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JZ)V
2: aload 0
lconst_0
putfield sun.nio.ch.WindowsSelectorImpl$SelectThread.lastRun:J
3: aload 0
iload 2
putfield sun.nio.ch.WindowsSelectorImpl$SelectThread.index:I
4: aload 0
new sun.nio.ch.WindowsSelectorImpl$SubSelector
dup
aload 1
iload 2
invokespecial sun.nio.ch.WindowsSelectorImpl$SubSelector.<init>:(Lsun/nio/ch/WindowsSelectorImpl;I)V
putfield sun.nio.ch.WindowsSelectorImpl$SelectThread.subSelector:Lsun/nio/ch/WindowsSelectorImpl$SubSelector;
5: aload 0
aload 1
getfield sun.nio.ch.WindowsSelectorImpl.startLock:Lsun/nio/ch/WindowsSelectorImpl$StartLock;
getfield sun.nio.ch.WindowsSelectorImpl$StartLock.runsCounter:J
putfield sun.nio.ch.WindowsSelectorImpl$SelectThread.lastRun:J
6: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/nio/ch/WindowsSelectorImpl$SelectThread;
0 7 2 i I
MethodParameters:
Name Flags
this$0 final
i
void makeZombie();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield sun.nio.ch.WindowsSelectorImpl$SelectThread.zombie:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/ch/WindowsSelectorImpl$SelectThread;
boolean isZombie();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.nio.ch.WindowsSelectorImpl$SelectThread.zombie:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/WindowsSelectorImpl$SelectThread;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.WindowsSelectorImpl$SelectThread.this$0:Lsun/nio/ch/WindowsSelectorImpl;
getfield sun.nio.ch.WindowsSelectorImpl.startLock:Lsun/nio/ch/WindowsSelectorImpl$StartLock;
aload 0
invokevirtual sun.nio.ch.WindowsSelectorImpl$StartLock.waitForStart:(Lsun/nio/ch/WindowsSelectorImpl$SelectThread;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.WindowsSelectorImpl$SelectThread.subSelector:Lsun/nio/ch/WindowsSelectorImpl$SubSelector;
aload 0
getfield sun.nio.ch.WindowsSelectorImpl$SelectThread.index:I
invokevirtual sun.nio.ch.WindowsSelectorImpl$SubSelector.poll:(I)I
pop
3: goto 6
StackMap locals:
StackMap stack: java.io.IOException
4: astore 1
start local 1 5: aload 0
getfield sun.nio.ch.WindowsSelectorImpl$SelectThread.this$0:Lsun/nio/ch/WindowsSelectorImpl;
getfield sun.nio.ch.WindowsSelectorImpl.finishLock:Lsun/nio/ch/WindowsSelectorImpl$FinishLock;
aload 1
invokevirtual sun.nio.ch.WindowsSelectorImpl$FinishLock.setException:(Ljava/io/IOException;)V
end local 1 6: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.ch.WindowsSelectorImpl$SelectThread.this$0:Lsun/nio/ch/WindowsSelectorImpl;
getfield sun.nio.ch.WindowsSelectorImpl.finishLock:Lsun/nio/ch/WindowsSelectorImpl$FinishLock;
invokevirtual sun.nio.ch.WindowsSelectorImpl$FinishLock.threadFinished:()V
7: goto 0
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/nio/ch/WindowsSelectorImpl$SelectThread;
5 6 1 e Ljava/io/IOException;
Exception table:
from to target type
2 3 4 Class java.io.IOException
}
SourceFile: "WindowsSelectorImpl.java"
NestHost: sun.nio.ch.WindowsSelectorImpl
InnerClasses:
private final FinishLock = sun.nio.ch.WindowsSelectorImpl$FinishLock of sun.nio.ch.WindowsSelectorImpl
private final SelectThread = sun.nio.ch.WindowsSelectorImpl$SelectThread of sun.nio.ch.WindowsSelectorImpl
private final StartLock = sun.nio.ch.WindowsSelectorImpl$StartLock of sun.nio.ch.WindowsSelectorImpl
private final SubSelector = sun.nio.ch.WindowsSelectorImpl$SubSelector of sun.nio.ch.WindowsSelectorImpl