public final class org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator
super_class: java.lang.Object
{
private final org.apache.cassandra.utils.memory.MemtablePool$SubPool parent;
descriptor: Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile long owns;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile long reclaiming;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator> ownsUpdater;
descriptor: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater<Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;>;
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator> reclaimingUpdater;
descriptor: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater<Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/utils/memory/MemtableAllocator;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.$assertionsDisabled:Z
3: ldc Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
ldc "owns"
invokestatic java.util.concurrent.atomic.AtomicLongFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
putstatic org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownsUpdater:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
4: ldc Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
ldc "reclaiming"
invokestatic java.util.concurrent.atomic.AtomicLongFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
putstatic org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.reclaimingUpdater:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.apache.cassandra.utils.memory.MemtablePool$SubPool);
descriptor: (Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
0 3 1 parent Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
MethodParameters:
Name Flags
parent
void releaseAll();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
getstatic org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownsUpdater:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lconst_0
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndSet:(Ljava/lang/Object;J)J
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.released:(J)V
1: aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
getstatic org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.reclaimingUpdater:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lconst_0
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndSet:(Ljava/lang/Object;J)J
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.reclaimed:(J)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
public void adjust(long, org.apache.cassandra.utils.concurrent.OpOrder$Group);
descriptor: (JLorg/apache/cassandra/utils/concurrent/OpOrder$Group;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lconst_0
lcmp
ifgt 2
1: aload 0
lload 1
lneg
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.released:(J)V
goto 3
2: StackMap locals:
StackMap stack:
aload 0
lload 1
aload 3
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.allocate:(JLorg/apache/cassandra/utils/concurrent/OpOrder$Group;)V
3: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
0 4 1 size J
0 4 3 opGroup Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
MethodParameters:
Name Flags
size
opGroup
public void allocate(long, org.apache.cassandra.utils.concurrent.OpOrder$Group);
descriptor: (JLorg/apache/cassandra/utils/concurrent/OpOrder$Group;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: getstatic org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.$assertionsDisabled:Z
ifne 1
lload 1
lconst_0
lcmp
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
lload 1
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.tryAllocate:(J)Z
ifeq 4
2: aload 0
lload 1
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.acquired:(J)V
3: return
4: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.hasRoom:()Lorg/apache/cassandra/utils/concurrent/WaitQueue;
aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.blockedTimerContext:()Lcom/codahale/metrics/Timer$Context;
invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.register:(Lcom/codahale/metrics/Timer$Context;)Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Group.isBlockingSignal:(Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;)Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
astore 4
start local 4 5: aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
lload 1
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.tryAllocate:(J)Z
istore 5
start local 5 6: iload 5
ifne 7
aload 3
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Group.isBlocking:()Z
ifeq 12
7: StackMap locals: org.apache.cassandra.utils.concurrent.WaitQueue$Signal int
StackMap stack:
aload 4
invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.cancel:()V
8: iload 5
ifeq 10
9: aload 0
lload 1
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.acquired:(J)V
goto 11
10: StackMap locals:
StackMap stack:
aload 0
lload 1
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.allocated:(J)V
11: StackMap locals:
StackMap stack:
return
12: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.awaitUninterruptibly:()V
end local 5 end local 4 13: goto 1
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
0 14 1 size J
0 14 3 opGroup Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
5 13 4 signal Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
6 13 5 allocated Z
MethodParameters:
Name Flags
size
opGroup
private void allocated(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
lload 1
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.allocated:(J)V
1: getstatic org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownsUpdater:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lload 1
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.addAndGet:(Ljava/lang/Object;J)J
pop2
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
0 3 1 size J
MethodParameters:
Name Flags
size
private void acquired(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
lload 1
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.acquired:(J)V
1: getstatic org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownsUpdater:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lload 1
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.addAndGet:(Ljava/lang/Object;J)J
pop2
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
0 3 1 size J
MethodParameters:
Name Flags
size
void released(long);
descriptor: (J)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
lload 1
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.released:(J)V
1: getstatic org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownsUpdater:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lload 1
lneg
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.addAndGet:(Ljava/lang/Object;J)J
pop2
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
0 3 1 size J
MethodParameters:
Name Flags
size
void markAllReclaiming();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.owns:J
lstore 1
start local 1 1: aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.reclaiming:J
lstore 3
start local 3 2: getstatic org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.reclaimingUpdater:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lload 3
lload 1
invokevirtual java.util.concurrent.atomic.AtomicLongFieldUpdater.compareAndSet:(Ljava/lang/Object;JJ)Z
ifne 4
3: goto 0
4: StackMap locals: long long
StackMap stack:
aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
lload 1
lload 3
lsub
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.reclaiming:(J)V
5: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
1 6 1 cur J
2 6 3 prev J
public long owns();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.owns:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
public float ownershipRatio();
descriptor: ()F
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.owns:J
l2f
aload 0
getfield org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.parent:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
getfield org.apache.cassandra.utils.memory.MemtablePool$SubPool.limit:J
l2f
fdiv
fstore 1
start local 1 1: fload 1
invokestatic java.lang.Float.isNaN:(F)Z
ifeq 3
2: fconst_0
freturn
3: StackMap locals: float
StackMap stack:
fload 1
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
1 4 1 r F
}
SourceFile: "MemtableAllocator.java"
NestHost: org.apache.cassandra.utils.memory.MemtableAllocator
InnerClasses:
public Context = com.codahale.metrics.Timer$Context of com.codahale.metrics.Timer
public final Group = org.apache.cassandra.utils.concurrent.OpOrder$Group of org.apache.cassandra.utils.concurrent.OpOrder
public abstract Signal = org.apache.cassandra.utils.concurrent.WaitQueue$Signal of org.apache.cassandra.utils.concurrent.WaitQueue
public final SubAllocator = org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator of org.apache.cassandra.utils.memory.MemtableAllocator
public SubPool = org.apache.cassandra.utils.memory.MemtablePool$SubPool of org.apache.cassandra.utils.memory.MemtablePool