class org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean<P extends org.apache.cassandra.utils.memory.MemtablePool> implements org.apache.cassandra.concurrent.InfiniteLoopExecutor$InterruptibleRunnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean
super_class: java.lang.Object
{
final P pool;
descriptor: Lorg/apache/cassandra/utils/memory/MemtablePool;
flags: (0x0010) ACC_FINAL
Signature: TP;
final java.lang.Runnable cleaner;
descriptor: Ljava/lang/Runnable;
flags: (0x0010) ACC_FINAL
final org.apache.cassandra.utils.concurrent.WaitQueue wait;
descriptor: Lorg/apache/cassandra/utils/concurrent/WaitQueue;
flags: (0x0010) ACC_FINAL
private void <init>(P, java.lang.Runnable);
descriptor: (Lorg/apache/cassandra/utils/memory/MemtablePool;Ljava/lang/Runnable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 // org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean this
start local 1 // org.apache.cassandra.utils.memory.MemtablePool pool
start local 2 // java.lang.Runnable cleaner
0: .line 41
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 39
aload 0 /* this */
new org.apache.cassandra.utils.concurrent.WaitQueue
dup
invokespecial org.apache.cassandra.utils.concurrent.WaitQueue.<init>:()V
putfield org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean.wait:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
2: .line 43
aload 0 /* this */
aload 1 /* pool */
putfield org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean.pool:Lorg/apache/cassandra/utils/memory/MemtablePool;
3: .line 44
aload 0 /* this */
aload 2 /* cleaner */
putfield org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean.cleaner:Ljava/lang/Runnable;
4: .line 45
return
end local 2 // java.lang.Runnable cleaner
end local 1 // org.apache.cassandra.utils.memory.MemtablePool pool
end local 0 // org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/utils/memory/MemtableCleanerThread$Clean<TP;>;
0 5 1 pool TP;
0 5 2 cleaner Ljava/lang/Runnable;
Signature: (TP;Ljava/lang/Runnable;)V
MethodParameters:
Name Flags
pool
cleaner
boolean needsCleaning();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean this
0: .line 49
aload 0 /* this */
getfield org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean.pool:Lorg/apache/cassandra/utils/memory/MemtablePool;
getfield org.apache.cassandra.utils.memory.MemtablePool.onHeap:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.needsCleaning:()Z
ifne 1
aload 0 /* this */
getfield org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean.pool:Lorg/apache/cassandra/utils/memory/MemtablePool;
getfield org.apache.cassandra.utils.memory.MemtablePool.offHeap:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.needsCleaning:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 // org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/utils/memory/MemtableCleanerThread$Clean<TP;>;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 // org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean this
0: .line 55
aload 0 /* this */
invokevirtual org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean.needsCleaning:()Z
ifeq 3
1: .line 57
aload 0 /* this */
getfield org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean.cleaner:Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
2: .line 58
goto 7
3: .line 61
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean.wait:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.register:()Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
astore 1 /* signal */
start local 1 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal signal
4: .line 62
aload 0 /* this */
invokevirtual org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean.needsCleaning:()Z
ifne 6
5: .line 63
aload 1 /* signal */
invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.await:()V
goto 7
6: .line 65
StackMap locals: org.apache.cassandra.utils.concurrent.WaitQueue$Signal
StackMap stack:
aload 1 /* signal */
invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.cancel:()V
end local 1 // org.apache.cassandra.utils.concurrent.WaitQueue$Signal signal
7: .line 67
StackMap locals:
StackMap stack:
return
end local 0 // org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/utils/memory/MemtableCleanerThread$Clean<TP;>;
4 7 1 signal Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
Exceptions:
throws java.lang.InterruptedException
}
Signature: <P:Lorg/apache/cassandra/utils/memory/MemtablePool;>Ljava/lang/Object;Lorg/apache/cassandra/concurrent/InfiniteLoopExecutor$InterruptibleRunnable;
SourceFile: "MemtableCleanerThread.java"
NestHost: org.apache.cassandra.utils.memory.MemtableCleanerThread
InnerClasses:
public abstract InterruptibleRunnable = org.apache.cassandra.concurrent.InfiniteLoopExecutor$InterruptibleRunnable of org.apache.cassandra.concurrent.InfiniteLoopExecutor
public abstract Signal = org.apache.cassandra.utils.concurrent.WaitQueue$Signal of org.apache.cassandra.utils.concurrent.WaitQueue
private Clean = org.apache.cassandra.utils.memory.MemtableCleanerThread$Clean of org.apache.cassandra.utils.memory.MemtableCleanerThread
public SubPool = org.apache.cassandra.utils.memory.MemtablePool$SubPool of org.apache.cassandra.utils.memory.MemtablePool