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 320
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 325
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 327
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 328
goto 6
end local 1 // int n
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: .line 329
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 330
aload 2
athrow
start local 1 // int n
6: .line 329
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 337
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 339
goto 43
9: .line 340
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 341
lload 2 /* eventAddress */
invokestatic sun.nio.ch.AixPollPort.getDescriptor:(J)I
istore 4 /* fd */
start local 4 // int fd
11: .line 345
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
12: .line 348
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 23
13: .line 349
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 15
14: .line 351
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
15: .line 356
StackMap locals: long int
StackMap stack:
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.pollset:I
iconst_0
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
getstatic sun.nio.ch.Net.POLLIN:S
invokestatic sun.nio.ch.AixPollPort.pollsetCtl:(IIII)I
pop
16: .line 360
iload 1 /* n */
ifle 19
17: .line 361
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
18: .line 362
goto 43
19: .line 364
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
20: .line 394
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
21: .line 400
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
22: .line 364
aload 9
areturn
23: .line 368
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 32
24: .line 369
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
25: .line 370
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
26: .line 373
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
getfield sun.nio.ch.AixPollPort.pollset:I
iconst_0
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
getstatic sun.nio.ch.Net.POLLIN:S
invokestatic sun.nio.ch.AixPollPort.pollsetCtl:(IIII)I
pop
27: .line 374
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
invokevirtual sun.nio.ch.AixPollPort.processControlQueue:()V
28: .line 369
aload 5
monitorexit
29: goto 43
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask int long int java.util.HashSet
StackMap stack: java.lang.Throwable
30: aload 5
monitorexit
31: athrow
32: .line 379
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
33: .line 380
aload 5 /* channel */
ifnull 43
34: .line 381
lload 2 /* eventAddress */
invokestatic sun.nio.ch.AixPollPort.getRevents:(J)I
istore 6 /* events */
start local 6 // int events
35: .line 382
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
36: .line 386
iload 1 /* n */
ifle 39
37: .line 387
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
38: .line 388
goto 43
39: .line 389
StackMap locals: sun.nio.ch.Port$PollableChannel int sun.nio.ch.AixPollPort$Event
StackMap stack:
aload 7 /* ev */
astore 9
40: .line 394
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
41: .line 400
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
42: .line 389
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
43: .line 339
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask int
StackMap stack:
iload 1 /* n */
iinc 1 /* n */ -1
ifgt 9
44: .line 393
goto 48
StackMap locals:
StackMap stack: java.lang.Throwable
45: astore 8
46: .line 394
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
47: .line 395
aload 8
athrow
48: .line 394
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
49: .line 323
goto 0
50: .line 397
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask
StackMap stack: java.lang.Throwable
astore 10
51: .line 400
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 401
aload 10
athrow
end local 0 // sun.nio.ch.AixPollPort$EventHandlerTask this
LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lsun/nio/ch/AixPollPort$EventHandlerTask;
2 3 1 n I
6 49 1 n I
10 43 2 eventAddress J
11 43 4 fd I
33 43 5 channel Lsun/nio/ch/Port$PollableChannel;
35 43 6 events I
36 43 7 ev Lsun/nio/ch/AixPollPort$Event;
Exception table:
from to target type
1 3 3 any
25 29 30 any
30 31 30 any
8 20 45 any
23 40 45 any
43 45 45 any
0 21 50 any
23 41 50 any
43 50 50 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 406
invokestatic sun.nio.ch.Invoker.getGroupAndInvokeCount:()Lsun/nio/ch/Invoker$GroupAndInvokeCount;
1: .line 405
astore 1 /* myGroupAndInvokeCount */
start local 1 // sun.nio.ch.Invoker$GroupAndInvokeCount myGroupAndInvokeCount
2: .line 407
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 408
iconst_0
istore 3 /* replaceMe */
start local 3 // boolean replaceMe
6: .line 413
StackMap locals: int int
StackMap stack:
iload 2 /* isPooledThread */
ifeq 8
7: .line 414
aload 1 /* myGroupAndInvokeCount */
invokevirtual sun.nio.ch.Invoker$GroupAndInvokeCount.resetInvokeCount:()V
8: .line 417
StackMap locals:
StackMap stack:
iconst_0
istore 3 /* replaceMe */
9: .line 418
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 422
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 424
aload 0 /* this */
invokevirtual sun.nio.ch.AixPollPort$EventHandlerTask.poll:()Lsun/nio/ch/AixPollPort$Event;
astore 4 /* ev */
12: .line 425
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 426
aload 5 /* x */
invokevirtual java.io.IOException.printStackTrace:()V
15: .line 458
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 459
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 460
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 427
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 430
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask sun.nio.ch.Invoker$GroupAndInvokeCount int int
StackMap stack: java.lang.InterruptedException
pop
20: .line 431
goto 6
start local 4 // sun.nio.ch.AixPollPort$Event ev
21: .line 435
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.EXECUTE_TASK_OR_SHUTDOWN:Lsun/nio/ch/AixPollPort$Event;
if_acmpne 31
22: .line 436
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
23: .line 437
aload 5 /* task */
ifnonnull 28
24: .line 458
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
25: .line 459
iload 7 /* remaining */
ifne 27
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
invokevirtual sun.nio.ch.AixPollPort.isShutdown:()Z
ifeq 27
26: .line 460
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
27: .line 439
StackMap locals: java.lang.Runnable
StackMap stack:
return
28: .line 442
StackMap locals:
StackMap stack:
iconst_1
istore 3 /* replaceMe */
29: .line 443
aload 5 /* task */
invokeinterface java.lang.Runnable.run:()V
30: .line 444
goto 6
end local 5 // java.lang.Runnable task
31: .line 449
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
32: .line 450
goto 6
StackMap locals:
StackMap stack: java.lang.Error
33: astore 5 /* x */
start local 5 // java.lang.Error x
34: .line 451
iconst_1
istore 3 /* replaceMe */
aload 5 /* x */
athrow
end local 5 // java.lang.Error x
35: .line 452
StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 5 /* x */
start local 5 // java.lang.RuntimeException x
36: .line 453
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
37: .line 456
StackMap locals: sun.nio.ch.AixPollPort$EventHandlerTask sun.nio.ch.Invoker$GroupAndInvokeCount int int
StackMap stack: java.lang.Throwable
astore 6
38: .line 458
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
39: .line 459
iload 7 /* remaining */
ifne 41
aload 0 /* this */
getfield sun.nio.ch.AixPollPort$EventHandlerTask.this$0:Lsun/nio/ch/AixPollPort;
invokevirtual sun.nio.ch.AixPollPort.isShutdown:()Z
ifeq 41
40: .line 460
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
41: .line 462
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 42 0 this Lsun/nio/ch/AixPollPort$EventHandlerTask;
2 42 1 myGroupAndInvokeCount Lsun/nio/ch/Invoker$GroupAndInvokeCount;
5 42 2 isPooledThread Z
6 42 3 replaceMe Z
10 19 4 ev Lsun/nio/ch/AixPollPort$Event;
21 37 4 ev Lsun/nio/ch/AixPollPort$Event;
14 19 5 x Ljava/io/IOException;
23 31 5 task Ljava/lang/Runnable;
34 35 5 x Ljava/lang/Error;
36 37 5 x Ljava/lang/RuntimeException;
16 18 7 remaining I
25 27 7 remaining I
39 41 7 remaining I
Exception table:
from to target type
11 12 13 Class java.io.IOException
8 15 19 Class java.lang.InterruptedException
31 32 33 Class java.lang.Error
31 32 35 Class java.lang.RuntimeException
6 15 37 any
19 24 37 any
28 37 37 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