class io.netty.util.concurrent.SingleThreadEventExecutor$5 implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.netty.util.concurrent.SingleThreadEventExecutor$5
super_class: java.lang.Object
{
final io.netty.util.concurrent.SingleThreadEventExecutor this$0;
descriptor: Lio/netty/util/concurrent/SingleThreadEventExecutor;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(io.netty.util.concurrent.SingleThreadEventExecutor);
descriptor: (Lio/netty/util/concurrent/SingleThreadEventExecutor;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // io.netty.util.concurrent.SingleThreadEventExecutor$5 this
0: .line 873
aload 0 /* this */
aload 1
putfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // io.netty.util.concurrent.SingleThreadEventExecutor$5 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/util/concurrent/SingleThreadEventExecutor$5;
MethodParameters:
Name Flags
this$0 final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 // io.netty.util.concurrent.SingleThreadEventExecutor$5 this
0: .line 876
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
putfield io.netty.util.concurrent.SingleThreadEventExecutor.thread:Ljava/lang/Thread;
1: .line 877
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.interrupted:Z
ifeq 3
2: .line 878
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.thread:Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
3: .line 881
StackMap locals:
StackMap stack:
iconst_0
istore 1 /* success */
start local 1 // boolean success
4: .line 882
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.updateLastExecutionTime:()V
5: .line 884
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.run:()V
6: .line 885
iconst_1
istore 1 /* success */
7: .line 886
goto 128
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int
StackMap stack: java.lang.Throwable
8: astore 2 /* t */
start local 2 // java.lang.Throwable t
9: .line 887
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Unexpected exception from an event executor: "
aload 2 /* t */
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 // java.lang.Throwable t
10: .line 890
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.state:I
istore 4 /* oldState */
start local 4 // int oldState
11: .line 891
iload 4 /* oldState */
iconst_3
if_icmpge 15
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
12: .line 892
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iload 4 /* oldState */
iconst_3
13: .line 891
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
14: .line 892
ifeq 10
end local 4 // int oldState
15: .line 898
StackMap locals:
StackMap stack:
iload 1 /* success */
ifeq 20
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.gracefulShutdownStartTime:J
lconst_0
lcmp
ifne 20
16: .line 899
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
new java.lang.StringBuilder
dup
ldc "Buggy "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lio/netty/util/concurrent/EventExecutor;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " implementation; "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: .line 900
ldc Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".confirmShutdown() must be called "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: .line 901
ldc "before run() implementation terminates."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: .line 899
invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;)V
20: .line 907
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.confirmShutdown:()Z
ifeq 20
21: .line 911
goto 46
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 4
23: .line 913
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.cleanup:()V
24: .line 914
goto 36
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int top top java.lang.Throwable
StackMap stack: java.lang.Throwable
25: astore 5
26: .line 915
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
27: .line 916
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.threadLock:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
28: .line 917
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 34
29: .line 918
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
30: .line 919
new java.lang.StringBuilder
dup
ldc "An event executor terminated with non-empty task queue ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: .line 920
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
32: .line 919
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
33: .line 918
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
34: .line 923
StackMap locals: java.lang.Throwable
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
35: .line 924
aload 5
athrow
36: .line 915
StackMap locals:
StackMap stack:
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
37: .line 916
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.threadLock:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
38: .line 917
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 44
39: .line 918
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
40: .line 919
new java.lang.StringBuilder
dup
ldc "An event executor terminated with non-empty task queue ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
41: .line 920
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
42: .line 919
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
43: .line 918
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
44: .line 923
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
45: .line 925
aload 4
athrow
46: .line 913
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.cleanup:()V
47: .line 914
goto 59
StackMap locals:
StackMap stack: java.lang.Throwable
48: astore 5
49: .line 915
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
50: .line 916
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.threadLock:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
51: .line 917
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 57
52: .line 918
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
53: .line 919
new java.lang.StringBuilder
dup
ldc "An event executor terminated with non-empty task queue ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
54: .line 920
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
55: .line 919
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
56: .line 918
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
57: .line 923
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int top top top java.lang.Throwable
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
58: .line 924
aload 5
athrow
59: .line 915
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int
StackMap stack:
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
60: .line 916
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.threadLock:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
61: .line 917
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 67
62: .line 918
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
63: .line 919
new java.lang.StringBuilder
dup
ldc "An event executor terminated with non-empty task queue ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
64: .line 920
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
65: .line 919
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
66: .line 918
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
67: .line 923
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
goto 186
68: .line 888
StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
69: .line 890
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int top java.lang.Throwable
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.state:I
istore 4 /* oldState */
start local 4 // int oldState
70: .line 891
iload 4 /* oldState */
iconst_3
if_icmpge 74
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
71: .line 892
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iload 4 /* oldState */
iconst_3
72: .line 891
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
73: .line 892
ifeq 69
end local 4 // int oldState
74: .line 898
StackMap locals:
StackMap stack:
iload 1 /* success */
ifeq 79
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.gracefulShutdownStartTime:J
lconst_0
lcmp
ifne 79
75: .line 899
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
new java.lang.StringBuilder
dup
ldc "Buggy "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lio/netty/util/concurrent/EventExecutor;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " implementation; "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
76: .line 900
ldc Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".confirmShutdown() must be called "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
77: .line 901
ldc "before run() implementation terminates."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
78: .line 899
invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;)V
79: .line 907
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.confirmShutdown:()Z
ifeq 79
80: .line 911
goto 105
StackMap locals:
StackMap stack: java.lang.Throwable
81: astore 4
82: .line 913
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.cleanup:()V
83: .line 914
goto 95
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int top java.lang.Throwable java.lang.Throwable
StackMap stack: java.lang.Throwable
84: astore 5
85: .line 915
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
86: .line 916
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.threadLock:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
87: .line 917
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 93
88: .line 918
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
89: .line 919
new java.lang.StringBuilder
dup
ldc "An event executor terminated with non-empty task queue ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
90: .line 920
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
91: .line 919
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
92: .line 918
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
93: .line 923
StackMap locals: java.lang.Throwable
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
94: .line 924
aload 5
athrow
95: .line 915
StackMap locals:
StackMap stack:
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
96: .line 916
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.threadLock:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
97: .line 917
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 103
98: .line 918
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
99: .line 919
new java.lang.StringBuilder
dup
ldc "An event executor terminated with non-empty task queue ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
100: .line 920
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
101: .line 919
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
102: .line 918
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
103: .line 923
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
104: .line 925
aload 4
athrow
105: .line 913
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.cleanup:()V
106: .line 914
goto 118
StackMap locals:
StackMap stack: java.lang.Throwable
107: astore 5
108: .line 915
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
109: .line 916
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.threadLock:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
110: .line 917
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 116
111: .line 918
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
112: .line 919
new java.lang.StringBuilder
dup
ldc "An event executor terminated with non-empty task queue ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
113: .line 920
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
114: .line 919
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
115: .line 918
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
116: .line 923
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int top java.lang.Throwable top java.lang.Throwable
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
117: .line 924
aload 5
athrow
118: .line 915
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int top java.lang.Throwable
StackMap stack:
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
119: .line 916
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.threadLock:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
120: .line 917
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 126
121: .line 918
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
122: .line 919
new java.lang.StringBuilder
dup
ldc "An event executor terminated with non-empty task queue ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
123: .line 920
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
124: .line 919
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
125: .line 918
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
126: .line 923
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
127: .line 926
aload 3
athrow
128: .line 890
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.state:I
istore 4 /* oldState */
start local 4 // int oldState
129: .line 891
iload 4 /* oldState */
iconst_3
if_icmpge 133
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
130: .line 892
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iload 4 /* oldState */
iconst_3
131: .line 891
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
132: .line 892
ifeq 128
end local 4 // int oldState
133: .line 898
StackMap locals:
StackMap stack:
iload 1 /* success */
ifeq 138
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.gracefulShutdownStartTime:J
lconst_0
lcmp
ifne 138
134: .line 899
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
new java.lang.StringBuilder
dup
ldc "Buggy "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lio/netty/util/concurrent/EventExecutor;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " implementation; "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
135: .line 900
ldc Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".confirmShutdown() must be called "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
136: .line 901
ldc "before run() implementation terminates."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
137: .line 899
invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;)V
138: .line 907
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.confirmShutdown:()Z
ifeq 138
139: .line 911
goto 164
StackMap locals:
StackMap stack: java.lang.Throwable
140: astore 4
141: .line 913
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.cleanup:()V
142: .line 914
goto 154
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int top top java.lang.Throwable
StackMap stack: java.lang.Throwable
143: astore 5
144: .line 915
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
145: .line 916
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.threadLock:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
146: .line 917
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 152
147: .line 918
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
148: .line 919
new java.lang.StringBuilder
dup
ldc "An event executor terminated with non-empty task queue ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
149: .line 920
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
150: .line 919
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
151: .line 918
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
152: .line 923
StackMap locals: java.lang.Throwable
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
153: .line 924
aload 5
athrow
154: .line 915
StackMap locals:
StackMap stack:
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
155: .line 916
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.threadLock:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
156: .line 917
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 162
157: .line 918
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
158: .line 919
new java.lang.StringBuilder
dup
ldc "An event executor terminated with non-empty task queue ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
159: .line 920
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
160: .line 919
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
161: .line 918
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
162: .line 923
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
163: .line 925
aload 4
athrow
164: .line 913
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.cleanup:()V
165: .line 914
goto 177
StackMap locals:
StackMap stack: java.lang.Throwable
166: astore 5
167: .line 915
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
168: .line 916
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.threadLock:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
169: .line 917
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 175
170: .line 918
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
171: .line 919
new java.lang.StringBuilder
dup
ldc "An event executor terminated with non-empty task queue ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
172: .line 920
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
173: .line 919
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
174: .line 918
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
175: .line 923
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int top top top java.lang.Throwable
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
176: .line 924
aload 5
athrow
177: .line 915
StackMap locals: io.netty.util.concurrent.SingleThreadEventExecutor$5 int
StackMap stack:
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.STATE_UPDATER:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
iconst_5
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
178: .line 916
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.threadLock:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
179: .line 917
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifne 185
180: .line 918
getstatic io.netty.util.concurrent.SingleThreadEventExecutor.logger:Lio/netty/util/internal/logging/InternalLogger;
181: .line 919
new java.lang.StringBuilder
dup
ldc "An event executor terminated with non-empty task queue ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
182: .line 920
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.taskQueue:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
183: .line 919
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
184: .line 918
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;)V
185: .line 923
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.netty.util.concurrent.SingleThreadEventExecutor$5.this$0:Lio/netty/util/concurrent/SingleThreadEventExecutor;
getfield io.netty.util.concurrent.SingleThreadEventExecutor.terminationFuture:Lio/netty/util/concurrent/Promise;
aconst_null
invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
pop
186: .line 927
StackMap locals:
StackMap stack:
return
end local 1 // boolean success
end local 0 // io.netty.util.concurrent.SingleThreadEventExecutor$5 this
LocalVariableTable:
Start End Slot Name Signature
0 187 0 this Lio/netty/util/concurrent/SingleThreadEventExecutor$5;
4 187 1 success Z
9 10 2 t Ljava/lang/Throwable;
11 15 4 oldState I
70 74 4 oldState I
129 133 4 oldState I
Exception table:
from to target type
5 7 8 Class java.lang.Throwable
20 22 22 any
23 25 25 any
46 48 48 any
5 10 68 any
79 81 81 any
82 84 84 any
105 107 107 any
138 140 140 any
141 143 143 any
164 166 166 any
}
SourceFile: "SingleThreadEventExecutor.java"
EnclosingMethod: io.netty.util.concurrent.SingleThreadEventExecutor.doStartThread:()V
NestHost: io.netty.util.concurrent.SingleThreadEventExecutor
InnerClasses:
io.netty.util.concurrent.SingleThreadEventExecutor$5