class sun.security.ssl.SSLEngineImpl$DelegatedTask implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.ssl.SSLEngineImpl$DelegatedTask
super_class: java.lang.Object
{
private final sun.security.ssl.SSLEngineImpl engine;
descriptor: Lsun/security/ssl/SSLEngineImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(sun.security.ssl.SSLEngineImpl);
descriptor: (Lsun/security/ssl/SSLEngineImpl;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.security.ssl.SSLEngineImpl$DelegatedTask this
start local 1 // sun.security.ssl.SSLEngineImpl engineInstance
0: .line 1178
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 1179
aload 0 /* this */
aload 1 /* engineInstance */
putfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
2: .line 1180
return
end local 1 // sun.security.ssl.SSLEngineImpl engineInstance
end local 0 // sun.security.ssl.SSLEngineImpl$DelegatedTask this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/SSLEngineImpl$DelegatedTask;
0 3 1 engineInstance Lsun/security/ssl/SSLEngineImpl;
MethodParameters:
Name Flags
engineInstance
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 // sun.security.ssl.SSLEngineImpl$DelegatedTask this
0: .line 1184
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.engineLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
1: .line 1186
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
astore 1 /* hc */
start local 1 // sun.security.ssl.HandshakeContext hc
2: .line 1187
aload 1 /* hc */
ifnull 3
aload 1 /* hc */
getfield sun.security.ssl.HandshakeContext.delegatedActions:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifeq 5
3: .line 1243
StackMap locals: sun.security.ssl.HandshakeContext
StackMap stack:
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.engineLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
4: .line 1188
return
5: .line 1193
StackMap locals:
StackMap stack:
new sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction
dup
aload 1 /* hc */
invokespecial sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.<init>:(Lsun/security/ssl/HandshakeContext;)V
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.acc:Ljava/security/AccessControlContext;
6: .line 1192
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
7: .line 1194
goto 30
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
8: astore 2 /* pae */
start local 2 // java.security.PrivilegedActionException pae
9: .line 1197
aload 2 /* pae */
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
astore 3 /* reportedException */
start local 3 // java.lang.Exception reportedException
10: .line 1200
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.delegatedThrown:Ljava/lang/Exception;
ifnonnull 12
11: .line 1201
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
aload 3 /* reportedException */
putfield sun.security.ssl.TransportContext.delegatedThrown:Ljava/lang/Exception;
12: .line 1207
StackMap locals: java.security.PrivilegedActionException java.lang.Exception
StackMap stack:
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
astore 1 /* hc */
13: .line 1208
aload 1 /* hc */
ifnull 16
14: .line 1209
aload 1 /* hc */
aload 3 /* reportedException */
putfield sun.security.ssl.HandshakeContext.delegatedThrown:Ljava/lang/Exception;
15: .line 1210
goto 30
StackMap locals:
StackMap stack:
16: aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
ifnull 30
17: .line 1212
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
18: .line 1213
aload 3 /* reportedException */
invokestatic sun.security.ssl.SSLEngineImpl.getTaskThrown:(Ljava/lang/Exception;)Ljavax/net/ssl/SSLException;
19: .line 1212
putfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
end local 3 // java.lang.Exception reportedException
end local 2 // java.security.PrivilegedActionException pae
20: goto 30
21: .line 1215
StackMap locals: sun.security.ssl.SSLEngineImpl$DelegatedTask sun.security.ssl.HandshakeContext
StackMap stack: java.lang.RuntimeException
astore 2 /* rte */
start local 2 // java.lang.RuntimeException rte
22: .line 1220
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.delegatedThrown:Ljava/lang/Exception;
ifnonnull 24
23: .line 1221
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
aload 2 /* rte */
putfield sun.security.ssl.TransportContext.delegatedThrown:Ljava/lang/Exception;
24: .line 1227
StackMap locals: java.lang.RuntimeException
StackMap stack:
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
astore 1 /* hc */
25: .line 1228
aload 1 /* hc */
ifnull 28
26: .line 1229
aload 1 /* hc */
aload 2 /* rte */
putfield sun.security.ssl.HandshakeContext.delegatedThrown:Ljava/lang/Exception;
27: .line 1230
goto 30
StackMap locals:
StackMap stack:
28: aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
ifnull 30
29: .line 1232
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
aload 2 /* rte */
putfield sun.security.ssl.TransportContext.closeReason:Ljava/lang/Exception;
end local 2 // java.lang.RuntimeException rte
30: .line 1238
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
astore 1 /* hc */
31: .line 1239
aload 1 /* hc */
ifnull 37
32: .line 1240
aload 1 /* hc */
iconst_0
putfield sun.security.ssl.HandshakeContext.taskDelegated:Z
end local 1 // sun.security.ssl.HandshakeContext hc
33: .line 1242
goto 37
StackMap locals: sun.security.ssl.SSLEngineImpl$DelegatedTask
StackMap stack: java.lang.Throwable
34: astore 4
35: .line 1243
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.engineLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
36: .line 1244
aload 4
athrow
37: .line 1243
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.security.ssl.SSLEngineImpl$DelegatedTask.engine:Lsun/security/ssl/SSLEngineImpl;
getfield sun.security.ssl.SSLEngineImpl.engineLock:Ljava/util/concurrent/locks/ReentrantLock;
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
38: .line 1245
return
end local 0 // sun.security.ssl.SSLEngineImpl$DelegatedTask this
LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lsun/security/ssl/SSLEngineImpl$DelegatedTask;
2 33 1 hc Lsun/security/ssl/HandshakeContext;
9 20 2 pae Ljava/security/PrivilegedActionException;
10 20 3 reportedException Ljava/lang/Exception;
22 30 2 rte Ljava/lang/RuntimeException;
Exception table:
from to target type
5 7 8 Class java.security.PrivilegedActionException
5 7 21 Class java.lang.RuntimeException
1 3 34 any
5 34 34 any
}
SourceFile: "SSLEngineImpl.java"
NestHost: sun.security.ssl.SSLEngineImpl
InnerClasses:
private DelegatedTask = sun.security.ssl.SSLEngineImpl$DelegatedTask of sun.security.ssl.SSLEngineImpl
private DelegatedAction = sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction of sun.security.ssl.SSLEngineImpl$DelegatedTask