class org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated
super_class: java.lang.Object
{
final java.util.concurrent.ConcurrentLinkedQueue<org.apache.cassandra.utils.memory.NativeAllocator$Region> stash;
descriptor: Ljava/util/concurrent/ConcurrentLinkedQueue;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentLinkedQueue<Lorg/apache/cassandra/utils/memory/NativeAllocator$Region;>;
final java.util.concurrent.Semaphore permits;
descriptor: Ljava/util/concurrent/Semaphore;
flags: (0x0010) ACC_FINAL
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 // org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated this
0: .line 177
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 179
aload 0 /* this */
new java.util.concurrent.ConcurrentLinkedQueue
dup
invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
putfield org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated.stash:Ljava/util/concurrent/ConcurrentLinkedQueue;
2: .line 180
aload 0 /* this */
new java.util.concurrent.Semaphore
dup
bipush 8
invokespecial java.util.concurrent.Semaphore.<init>:(I)V
putfield org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated.permits:Ljava/util/concurrent/Semaphore;
3: .line 177
return
end local 0 // org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/utils/memory/NativeAllocator$RaceAllocated;
boolean stash(org.apache.cassandra.utils.memory.NativeAllocator$Region);
descriptor: (Lorg/apache/cassandra/utils/memory/NativeAllocator$Region;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated this
start local 1 // org.apache.cassandra.utils.memory.NativeAllocator$Region region
0: .line 183
aload 0 /* this */
getfield org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated.permits:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.tryAcquire:()Z
ifne 2
1: .line 184
iconst_0
ireturn
2: .line 185
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated.stash:Ljava/util/concurrent/ConcurrentLinkedQueue;
aload 1 /* region */
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
pop
3: .line 186
iconst_1
ireturn
end local 1 // org.apache.cassandra.utils.memory.NativeAllocator$Region region
end local 0 // org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/utils/memory/NativeAllocator$RaceAllocated;
0 4 1 region Lorg/apache/cassandra/utils/memory/NativeAllocator$Region;
MethodParameters:
Name Flags
region
org.apache.cassandra.utils.memory.NativeAllocator$Region poll();
descriptor: ()Lorg/apache/cassandra/utils/memory/NativeAllocator$Region;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=1
start local 0 // org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated this
0: .line 190
aload 0 /* this */
getfield org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated.stash:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.poll:()Ljava/lang/Object;
checkcast org.apache.cassandra.utils.memory.NativeAllocator$Region
astore 1 /* next */
start local 1 // org.apache.cassandra.utils.memory.NativeAllocator$Region next
1: .line 191
aload 1 /* next */
ifnull 3
2: .line 192
aload 0 /* this */
getfield org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated.permits:Ljava/util/concurrent/Semaphore;
invokevirtual java.util.concurrent.Semaphore.release:()V
3: .line 193
StackMap locals: org.apache.cassandra.utils.memory.NativeAllocator$Region
StackMap stack:
aload 1 /* next */
areturn
end local 1 // org.apache.cassandra.utils.memory.NativeAllocator$Region next
end local 0 // org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/utils/memory/NativeAllocator$RaceAllocated;
1 4 1 next Lorg/apache/cassandra/utils/memory/NativeAllocator$Region;
}
SourceFile: "NativeAllocator.java"
NestHost: org.apache.cassandra.utils.memory.NativeAllocator
InnerClasses:
private RaceAllocated = org.apache.cassandra.utils.memory.NativeAllocator$RaceAllocated of org.apache.cassandra.utils.memory.NativeAllocator
private Region = org.apache.cassandra.utils.memory.NativeAllocator$Region of org.apache.cassandra.utils.memory.NativeAllocator