class org.xnio.ByteBufferPool$2 extends org.xnio.ByteBufferPool
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.xnio.ByteBufferPool$2
super_class: org.xnio.ByteBufferPool
{
private final org.xnio.ByteBufferPool val$parent;
descriptor: Lorg/xnio/ByteBufferPool;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(int, boolean, org.xnio.ByteBufferPool);
descriptor: (IZLorg/xnio/ByteBufferPool;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 0: aload 0
aload 3
putfield org.xnio.ByteBufferPool$2.val$parent:Lorg/xnio/ByteBufferPool;
aload 0
iload 1
iload 2
invokespecial org.xnio.ByteBufferPool.<init>:(IZ)V
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ByteBufferPool$2;
0 1 1 $anonymous0 I
0 1 2 $anonymous1 Z
MethodParameters:
Name Flags
$anonymous0
$anonymous1
val$parent final
java.nio.ByteBuffer createBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0000)
Code:
stack=3, locals=6, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
invokevirtual org.xnio.ByteBufferPool$2.getMasterQueue:()Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.poll:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 2
start local 2 2: aload 2
ifnull 5
3: aload 2
aload 1
monitorexit
4: areturn
5: StackMap locals: org.xnio.ByteBufferPool$2 java.nio.ByteBuffer
StackMap stack:
aload 0
getfield org.xnio.ByteBufferPool$2.val$parent:Lorg/xnio/ByteBufferPool;
invokevirtual org.xnio.ByteBufferPool.allocate:()Ljava/nio/ByteBuffer;
astore 3
start local 3 6: aload 0
invokevirtual org.xnio.ByteBufferPool$2.getSize:()I
istore 4
start local 4 7: aload 3
iload 4
invokestatic org.xnio.Buffers.slice:(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
astore 5
start local 5 8: goto 12
9: StackMap locals: java.nio.ByteBuffer int java.nio.ByteBuffer
StackMap stack:
iload 4
getstatic org.xnio.ByteBufferPool$2.CACHE_LINE_SIZE:I
if_icmpge 11
10: aload 3
getstatic org.xnio.ByteBufferPool$2.CACHE_LINE_SIZE:I
iload 4
isub
invokestatic org.xnio.Buffers.skip:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
pop
11: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 4
invokestatic org.xnio.Buffers.slice:(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
invokespecial org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
12: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 9
13: aload 5
aload 1
monitorexit
14: areturn
end local 5 end local 4 end local 3 end local 2 15: StackMap locals: org.xnio.ByteBufferPool$2 org.xnio.ByteBufferPool$2
StackMap stack: java.lang.Throwable
aload 1
monitorexit
16: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/xnio/ByteBufferPool$2;
2 15 2 appearing Ljava/nio/ByteBuffer;
6 15 3 parentBuffer Ljava/nio/ByteBuffer;
7 15 4 size I
8 15 5 result Ljava/nio/ByteBuffer;
Exception table:
from to target type
1 4 15 any
5 14 15 any
15 16 15 any
}
SourceFile: "ByteBufferPool.java"
EnclosingMethod: org.xnio.ByteBufferPool.subPool:(Lorg/xnio/ByteBufferPool;I)Lorg/xnio/ByteBufferPool;
NestHost: org.xnio.ByteBufferPool
InnerClasses:
org.xnio.ByteBufferPool$2