class com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable
super_class: java.lang.Object
{
private final com.oracle.graal.python.util.Supplier<com.oracle.graal.python.runtime.AsyncHandler$AsyncAction> actionSupplier;
descriptor: Lcom/oracle/graal/python/util/Supplier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/oracle/graal/python/util/Supplier<Lcom/oracle/graal/python/runtime/AsyncHandler$AsyncAction;>;
final com.oracle.graal.python.runtime.AsyncHandler this$0;
descriptor: Lcom/oracle/graal/python/runtime/AsyncHandler;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(com.oracle.graal.python.util.Supplier<com.oracle.graal.python.runtime.AsyncHandler$AsyncAction>);
descriptor: (Lcom/oracle/graal/python/runtime/AsyncHandler;Lcom/oracle/graal/python/util/Supplier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 // com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable this
start local 2 // com.oracle.graal.python.util.Supplier actionSupplier
0: .line 154
aload 0 /* this */
aload 1
putfield com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable.this$0:Lcom/oracle/graal/python/runtime/AsyncHandler;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 155
aload 0 /* this */
aload 2 /* actionSupplier */
putfield com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable.actionSupplier:Lcom/oracle/graal/python/util/Supplier;
2: .line 156
return
end local 2 // com.oracle.graal.python.util.Supplier actionSupplier
end local 0 // com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/runtime/AsyncHandler$AsyncRunnable;
0 3 2 actionSupplier Lcom/oracle/graal/python/util/Supplier<Lcom/oracle/graal/python/runtime/AsyncHandler$AsyncAction;>;
Signature: (Lcom/oracle/graal/python/util/Supplier<Lcom/oracle/graal/python/runtime/AsyncHandler$AsyncAction;>;)V
MethodParameters:
Name Flags
this$0 final
actionSupplier
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 // com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable this
0: .line 160
aload 0 /* this */
getfield com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable.actionSupplier:Lcom/oracle/graal/python/util/Supplier;
invokeinterface com.oracle.graal.python.util.Supplier.get:()Ljava/lang/Object;
checkcast com.oracle.graal.python.runtime.AsyncHandler$AsyncAction
astore 1 /* asyncAction */
start local 1 // com.oracle.graal.python.runtime.AsyncHandler$AsyncAction asyncAction
1: .line 161
aload 1 /* asyncAction */
ifnull 10
2: .line 164
aload 0 /* this */
getfield com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable.this$0:Lcom/oracle/graal/python/runtime/AsyncHandler;
getfield com.oracle.graal.python.runtime.AsyncHandler.executingScheduledActions:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
3: .line 166
aload 0 /* this */
getfield com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable.this$0:Lcom/oracle/graal/python/runtime/AsyncHandler;
getfield com.oracle.graal.python.runtime.AsyncHandler.scheduledActions:Ljava/util/concurrent/ConcurrentLinkedQueue;
aload 1 /* asyncAction */
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
pop
4: .line 167
aload 0 /* this */
getfield com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable.this$0:Lcom/oracle/graal/python/runtime/AsyncHandler;
iconst_1
putfield com.oracle.graal.python.runtime.AsyncHandler.hasScheduledAction:Z
5: .line 168
goto 9
StackMap locals: com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable com.oracle.graal.python.runtime.AsyncHandler$AsyncAction
StackMap stack: java.lang.Throwable
6: astore 2
7: .line 169
aload 0 /* this */
getfield com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable.this$0:Lcom/oracle/graal/python/runtime/AsyncHandler;
getfield com.oracle.graal.python.runtime.AsyncHandler.executingScheduledActions:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
8: .line 170
aload 2
athrow
9: .line 169
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable.this$0:Lcom/oracle/graal/python/runtime/AsyncHandler;
getfield com.oracle.graal.python.runtime.AsyncHandler.executingScheduledActions:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
10: .line 172
StackMap locals:
StackMap stack:
return
end local 1 // com.oracle.graal.python.runtime.AsyncHandler$AsyncAction asyncAction
end local 0 // com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/graal/python/runtime/AsyncHandler$AsyncRunnable;
1 11 1 asyncAction Lcom/oracle/graal/python/runtime/AsyncHandler$AsyncAction;
Exception table:
from to target type
3 6 6 any
}
SourceFile: "AsyncHandler.java"
NestHost: com.oracle.graal.python.runtime.AsyncHandler
InnerClasses:
public abstract AsyncAction = com.oracle.graal.python.runtime.AsyncHandler$AsyncAction of com.oracle.graal.python.runtime.AsyncHandler
private AsyncRunnable = com.oracle.graal.python.runtime.AsyncHandler$AsyncRunnable of com.oracle.graal.python.runtime.AsyncHandler