class sun.nio.ch.AixPollPort$EventHandlerTask implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.ch.AixPollPort$EventHandlerTask
super_class: java.lang.Object
{
final sun.nio.ch.AixPollPort this$0;
descriptor: Lsun/nio/ch/AixPollPort;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(sun.nio.ch.AixPollPort);
descriptor: (Lsun/nio/ch/AixPollPort;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.nio.ch.AixPollPort$EventHandlerTask this
0: .line 321
aload 0 /* this */
aload 1
putfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // sun.nio.ch.AixPollPort$EventHandlerTask this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/ch/AixPollPort$EventHandlerTask;
MethodParameters:
Name Flags
this$0 final
private sun.nio.ch.AixPollPort$Event poll();
descriptor: ()Lsun/nio/ch/AixPollPort$Event;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=1
start local 0 // sun.nio.ch.AixPollPort$EventHandlerTask this
0: .line 326
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.controlLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: .line 328
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.pollset:I
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.address:J
sipush 512
invokestatic sun.nio.ch.AixPollPort.pollsetPoll:(IJI)I
istore 1 /* n */
start local 1 // int n
2: .line 329
goto 6
end local 1 // int n
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: .line 330
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.controlLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
5: .line 331
aload 2
athrow
start local 1 // int n
6: .line 330
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.controlLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
7: .line 338
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.fdToChannelLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
8: .line 340
goto 53
9: .line 341
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.address:J
iload 1 /* n */
invokestatic sun.nio.ch.AixPollPort.getEvent:(JI)J
lstore 2 /* eventAddress */
start local 2 // long eventAddress
10: .line 342
lload 2 /* eventAddress */
invokestatic sun.nio.ch.AixPollPort.getDescriptor:(J)I
istore 4 /* fd */
start local 4 // int fd
11: .line 346
iload 4 /* fd */
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.sp:[I
iconst_0
iaload
if_icmpeq 18
iload 4 /* fd */
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.ctlSp:[I
iconst_0
iaload
if_icmpeq 18
12: .line 347
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.controlQueue:Ljava/util/HashSet;
dup
astore 5
monitorenter
13: .line 348
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.pollset:I
iconst_2
iload 4 /* fd */
iconst_0
invokestatic sun.nio.ch.AixPollPort.pollsetCtl:(IIII)I
pop
14: .line 347
aload 5
monitorexit
15: goto 18
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask int long int java.util.HashSet
StackMap stack: java.lang.Throwable
16: aload 5
monitorexit
17: athrow
18: .line 353
StackMap locals:
StackMap stack:
iload 4 /* fd */
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.sp:[I
iconst_0
iaload
if_icmpne 28
19: .line 354
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.wakeupCount:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
ifne 21
20: .line 356
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.sp:[I
iconst_0
iaload
invokestatic sun.nio.ch.AixPollPort.drain1:(I)V
21: .line 361
StackMap locals:
StackMap stack:
iload 1 /* n */
ifle 24
22: .line 362
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.queue:Ljava/util/concurrent/ArrayBlockingQueue;
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.EXECUTE_TASK_OR_SHUTDOWN:Lsun/nio/ch/AixPollPort$Event;
invokevirtual java.util.concurrent.ArrayBlockingQueue.offer:(Ljava/lang/Object;)Z
pop
23: .line 363
goto 53
24: .line 365
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.EXECUTE_TASK_OR_SHUTDOWN:Lsun/nio/ch/AixPollPort$Event;
astore 9
25: .line 395
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.fdToChannelLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
26: .line 401
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.queue:Ljava/util/concurrent/ArrayBlockingQueue;
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.NEED_TO_POLL:Lsun/nio/ch/AixPollPort$Event;
invokevirtual java.util.concurrent.ArrayBlockingQueue.offer:(Ljava/lang/Object;)Z
pop
27: .line 365
aload 9
areturn
28: .line 369
StackMap locals:
StackMap stack:
iload 4 /* fd */
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.ctlSp:[I
iconst_0
iaload
if_icmpne 42
29: .line 370
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.controlQueue:Ljava/util/HashSet;
dup
astore 5
monitorenter
30: .line 371
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.ctlSp:[I
iconst_0
iaload
invokestatic sun.nio.ch.AixPollPort.drain1:(I)V
31: .line 372
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
invokevirtual sun.nio.ch.AixPollPort.processControlQueue:()V
32: .line 370
aload 5
monitorexit
33: goto 36
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask int long int java.util.HashSet
StackMap stack: java.lang.Throwable
34: aload 5
monitorexit
35: athrow
36: .line 374
StackMap locals:
StackMap stack:
iload 1 /* n */
ifle 38
37: .line 375
goto 53
38: .line 377
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.CONTINUE_AFTER_CTL_EVENT:Lsun/nio/ch/AixPollPort$Event;
astore 9
39: .line 395
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.fdToChannelLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
40: .line 401
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.queue:Ljava/util/concurrent/ArrayBlockingQueue;
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.NEED_TO_POLL:Lsun/nio/ch/AixPollPort$Event;
invokevirtual java.util.concurrent.ArrayBlockingQueue.offer:(Ljava/lang/Object;)Z
pop
41: .line 377
aload 9
areturn
42: .line 380
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.fdToChannel:Ljava/util/Map;
iload 4 /* fd */
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.nio.ch.Port$PollableChannel
astore 5 /* channel */
start local 5 // sun.nio.ch.Port$PollableChannel channel
43: .line 381
aload 5 /* channel */
ifnull 53
44: .line 382
lload 2 /* eventAddress */
invokestatic sun.nio.ch.AixPollPort.getRevents:(J)I
istore 6 /* events */
start local 6 // int events
45: .line 383
new sun.nio.ch.AixPollPort$Event
dup
aload 5 /* channel */
iload 6 /* events */
invokespecial sun.nio.ch.AixPollPort$Event.<init>:(Lsun/nio/ch/Port$PollableChannel;I)V
astore 7 /* ev */
start local 7 // sun.nio.ch.AixPollPort$Event ev
46: .line 387
iload 1 /* n */
ifle 49
47: .line 388
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.queue:Ljava/util/concurrent/ArrayBlockingQueue;
aload 7 /* ev */
invokevirtual java.util.concurrent.ArrayBlockingQueue.offer:(Ljava/lang/Object;)Z
pop
48: .line 389
goto 53
49: .line 390
StackMap locals: sun.nio.ch.Port$PollableChannel int sun.nio.ch.AixPollPort$Event
StackMap stack:
aload 7 /* ev */
astore 9
50: .line 395
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.fdToChannelLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
51: .line 401
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.queue:Ljava/util/concurrent/ArrayBlockingQueue;
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.NEED_TO_POLL:Lsun/nio/ch/AixPollPort$Event;
invokevirtual java.util.concurrent.ArrayBlockingQueue.offer:(Ljava/lang/Object;)Z
pop
52: .line 390
aload 9
areturn
end local 7 // sun.nio.ch.AixPollPort$Event ev
end local 6 // int events
end local 5 // sun.nio.ch.Port$PollableChannel channel
end local 4 // int fd
end local 2 // long eventAddress
53: .line 340
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask int
StackMap stack:
iload 1 /* n */
iinc 1 /* n */ -1
ifgt 9
54: .line 394
goto 58
StackMap locals:
StackMap stack: java.lang.Throwable
55: astore 8
56: .line 395
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.fdToChannelLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
57: .line 396
aload 8
athrow
58: .line 395
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.fdToChannelLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
end local 1 // int n
59: .line 324
goto 0
60: .line 398
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask
StackMap stack: java.lang.Throwable
astore 10
61: .line 401
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.queue:Ljava/util/concurrent/ArrayBlockingQueue;
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.NEED_TO_POLL:Lsun/nio/ch/AixPollPort$Event;
invokevirtual java.util.concurrent.ArrayBlockingQueue.offer:(Ljava/lang/Object;)Z
pop
62: .line 402
aload 10
athrow
end local 0 // sun.nio.ch.AixPollPort$EventHandlerTask this
LocalVariableTable:
Start End Slot Name Signature
0 63 0 this Lsun/nio/ch/AixPollPort$EventHandlerTask;
2 3 1 n I
6 59 1 n I
10 53 2 eventAddress J
11 53 4 fd I
43 53 5 channel Lsun/nio/ch/Port$PollableChannel;
45 53 6 events I
46 53 7 ev Lsun/nio/ch/AixPollPort$Event;
Exception table:
from to target type
1 3 3 any
13 15 16 any
16 17 16 any
30 33 34 any
34 35 34 any
8 25 55 any
28 39 55 any
42 50 55 any
53 55 55 any
0 26 60 any
28 40 60 any
42 51 60 any
53 60 60 any
Exceptions:
throws java.io.IOException
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=1
start local 0 // sun.nio.ch.AixPollPort$EventHandlerTask this
0: .line 407
invokestatic sun.nio.ch.Invoker.getGroupAndInvokeCount:()Lsun/nio/ch/Invoker$GroupAndInvokeCount;
1: .line 406
astore 1 /* myGroupAndInvokeCount */
start local 1 // sun.nio.ch.Invoker$GroupAndInvokeCount myGroupAndInvokeCount
2: .line 408
aload 1 /* myGroupAndInvokeCount */
ifnull 3
iconst_1
goto 4
StackMap locals: sun.nio.ch.Invoker$GroupAndInvokeCount
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 2 /* isPooledThread */
start local 2 // boolean isPooledThread
5: .line 409
iconst_0
istore 3 /* replaceMe */
start local 3 // boolean replaceMe
6: .line 414
StackMap locals: int int
StackMap stack:
iload 2 /* isPooledThread */
ifeq 8
7: .line 415
aload 1 /* myGroupAndInvokeCount */
invokevirtual sun.nio.ch.Invoker$GroupAndInvokeCount.resetInvokeCount:()V
8: .line 418
StackMap locals:
StackMap stack:
iconst_0
istore 3 /* replaceMe */
9: .line 419
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.queue:Ljava/util/concurrent/ArrayBlockingQueue;
invokevirtual java.util.concurrent.ArrayBlockingQueue.take:()Ljava/lang/Object;
checkcast sun.nio.ch.AixPollPort$Event
astore 4 /* ev */
start local 4 // sun.nio.ch.AixPollPort$Event ev
10: .line 423
aload 4 /* ev */
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.NEED_TO_POLL:Lsun/nio/ch/AixPollPort$Event;
if_acmpne 21
11: .line 425
aload 0 /* this */
invokevirtual sun.nio.ch.AixPollPort$EventHandlerTask.poll:()Lsun/nio/ch/AixPollPort$Event;
astore 4 /* ev */
12: .line 426
goto 21
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask sun.nio.ch.Invoker$GroupAndInvokeCount int int sun.nio.ch.AixPollPort$Event
StackMap stack: java.io.IOException
13: astore 5 /* x */
start local 5 // java.io.IOException x
14: .line 427
aload 5 /* x */
invokevirtual java.io.IOException.printStackTrace:()V
15: .line 464
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
aload 0 /* this */
iload 3 /* replaceMe */
invokevirtual sun.nio.ch.AixPollPort.threadExit:(Ljava/lang/Runnable;Z)I
istore 7 /* remaining */
start local 7 // int remaining
16: .line 465
iload 7 /* remaining */
ifne 18
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
invokevirtual sun.nio.ch.AixPollPort.isShutdown:()Z
ifeq 18
17: .line 466
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
invokevirtual sun.nio.ch.AixPollPort.implClose:()V
end local 7 // int remaining
18: .line 428
StackMap locals: java.io.IOException
StackMap stack:
return
end local 5 // java.io.IOException x
end local 4 // sun.nio.ch.AixPollPort$Event ev
19: .line 431
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask sun.nio.ch.Invoker$GroupAndInvokeCount int int
StackMap stack: java.lang.InterruptedException
pop
20: .line 432
goto 6
start local 4 // sun.nio.ch.AixPollPort$Event ev
21: .line 436
StackMap locals: sun.nio.ch.AixPollPort$Event
StackMap stack:
aload 4 /* ev */
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.CONTINUE_AFTER_CTL_EVENT:Lsun/nio/ch/AixPollPort$Event;
if_acmpne 23
22: .line 437
goto 6
23: .line 441
StackMap locals:
StackMap stack:
aload 4 /* ev */
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.EXECUTE_TASK_OR_SHUTDOWN:Lsun/nio/ch/AixPollPort$Event;
if_acmpne 33
24: .line 442
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
invokevirtual sun.nio.ch.AixPollPort.pollTask:()Ljava/lang/Runnable;
astore 5 /* task */
start local 5 // java.lang.Runnable task
25: .line 443
aload 5 /* task */
ifnonnull 30
26: .line 464
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
aload 0 /* this */
iload 3 /* replaceMe */
invokevirtual sun.nio.ch.AixPollPort.threadExit:(Ljava/lang/Runnable;Z)I
istore 7 /* remaining */
start local 7 // int remaining
27: .line 465
iload 7 /* remaining */
ifne 29
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
invokevirtual sun.nio.ch.AixPollPort.isShutdown:()Z
ifeq 29
28: .line 466
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
invokevirtual sun.nio.ch.AixPollPort.implClose:()V
end local 7 // int remaining
29: .line 445
StackMap locals: java.lang.Runnable
StackMap stack:
return
30: .line 448
StackMap locals:
StackMap stack:
iconst_1
istore 3 /* replaceMe */
31: .line 449
aload 5 /* task */
invokeinterface java.lang.Runnable.run:()V
32: .line 450
goto 6
end local 5 // java.lang.Runnable task
33: .line 455
StackMap locals:
StackMap stack:
aload 4 /* ev */
invokevirtual sun.nio.ch.AixPollPort$Event.channel:()Lsun/nio/ch/Port$PollableChannel;
aload 4 /* ev */
invokevirtual sun.nio.ch.AixPollPort$Event.events:()I
iload 2 /* isPooledThread */
invokeinterface sun.nio.ch.Port$PollableChannel.onEvent:(IZ)V
34: .line 456
goto 6
StackMap locals:
StackMap stack: java.lang.Error
35: astore 5 /* x */
start local 5 // java.lang.Error x
36: .line 457
iconst_1
istore 3 /* replaceMe */
aload 5 /* x */
athrow
end local 5 // java.lang.Error x
37: .line 458
StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 5 /* x */
start local 5 // java.lang.RuntimeException x
38: .line 459
iconst_1
istore 3 /* replaceMe */
aload 5 /* x */
athrow
end local 5 // java.lang.RuntimeException x
end local 4 // sun.nio.ch.AixPollPort$Event ev
39: .line 462
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask sun.nio.ch.Invoker$GroupAndInvokeCount int int
StackMap stack: java.lang.Throwable
astore 6
40: .line 464
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
aload 0 /* this */
iload 3 /* replaceMe */
invokevirtual sun.nio.ch.AixPollPort.threadExit:(Ljava/lang/Runnable;Z)I
istore 7 /* remaining */
start local 7 // int remaining
41: .line 465
iload 7 /* remaining */
ifne 43
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
invokevirtual sun.nio.ch.AixPollPort.isShutdown:()Z
ifeq 43
42: .line 466
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
invokevirtual sun.nio.ch.AixPollPort.implClose:()V
end local 7 // int remaining
43: .line 468
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask sun.nio.ch.Invoker$GroupAndInvokeCount int int top top java.lang.Throwable
StackMap stack:
aload 6
athrow
end local 3 // boolean replaceMe
end local 2 // boolean isPooledThread
end local 1 // sun.nio.ch.Invoker$GroupAndInvokeCount myGroupAndInvokeCount
end local 0 // sun.nio.ch.AixPollPort$EventHandlerTask this
LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lsun/nio/ch/AixPollPort$EventHandlerTask;
2 44 1 myGroupAndInvokeCount Lsun/nio/ch/Invoker$GroupAndInvokeCount;
5 44 2 isPooledThread Z
6 44 3 replaceMe Z
10 19 4 ev Lsun/nio/ch/AixPollPort$Event;
21 39 4 ev Lsun/nio/ch/AixPollPort$Event;
14 19 5 x Ljava/io/IOException;
25 33 5 task Ljava/lang/Runnable;
36 37 5 x Ljava/lang/Error;
38 39 5 x Ljava/lang/RuntimeException;
16 18 7 remaining I
27 29 7 remaining I
41 43 7 remaining I
Exception table:
from to target type
11 12 13 Class java.io.IOException
8 15 19 Class java.lang.InterruptedException
33 34 35 Class java.lang.Error
33 34 37 Class java.lang.RuntimeException
6 15 39 any
19 26 39 any
30 39 39 any
}
SourceFile: "AixPollPort.java"
NestHost: sun.nio.ch.AixPollPort
InnerClasses:
Event = sun.nio.ch.AixPollPort$Event of sun.nio.ch.AixPollPort
private EventHandlerTask = sun.nio.ch.AixPollPort$EventHandlerTask of sun.nio.ch.AixPollPort
GroupAndInvokeCount = sun.nio.ch.Invoker$GroupAndInvokeCount of sun.nio.ch.Invoker
abstract PollableChannel = sun.nio.ch.Port$PollableChannel of sun.nio.ch.Port