class org.xnio.AutomaticReference$Cleaner implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.xnio.AutomaticReference$Cleaner
super_class: java.lang.Object
{
private static final java.lang.ref.ReferenceQueue<java.lang.Object> QUEUE;
descriptor: Ljava/lang/ref/ReferenceQueue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ref/ReferenceQueue<Ljava/lang/Object;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putstatic org.xnio.AutomaticReference$Cleaner.QUEUE:Ljava/lang/ref/ReferenceQueue;
1: new org.xnio.AutomaticReference$Cleaner$1
dup
invokespecial org.xnio.AutomaticReference$Cleaner$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
2: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/AutomaticReference$Cleaner;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
getstatic org.xnio.AutomaticReference$Cleaner.QUEUE:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.remove:()Ljava/lang/ref/Reference;
checkcast org.xnio.AutomaticReference
astore 1
start local 1 1: aload 1
invokevirtual org.xnio.AutomaticReference.free:()V
2: goto 6
StackMap locals: org.xnio.AutomaticReference$Cleaner org.xnio.AutomaticReference
StackMap stack: java.lang.Throwable
3: astore 2
4: getstatic org.xnio.AutomaticReference.LIVE_SET:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
5: aload 2
athrow
6: StackMap locals:
StackMap stack:
getstatic org.xnio.AutomaticReference.LIVE_SET:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
7: goto 0
end local 1 StackMap locals: org.xnio.AutomaticReference$Cleaner
StackMap stack: java.lang.Throwable
8: pop
9: goto 0
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/xnio/AutomaticReference$Cleaner;
1 8 1 ref Lorg/xnio/AutomaticReference<*>;
Exception table:
from to target type
1 3 3 any
0 7 8 Class java.lang.Throwable
}
SourceFile: "AutomaticReference.java"
NestHost: org.xnio.AutomaticReference
InnerClasses:
Cleaner = org.xnio.AutomaticReference$Cleaner of org.xnio.AutomaticReference
org.xnio.AutomaticReference$Cleaner$1