public abstract class org.xnio.ByteBufferPool
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.xnio.ByteBufferPool
super_class: java.lang.Object
{
private static final boolean sliceLargeBuffers;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer> masterQueue;
descriptor: Ljava/util/concurrent/ConcurrentLinkedQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentLinkedQueue<Ljava/nio/ByteBuffer;>;
private final java.lang.ThreadLocal<org.xnio.ByteBufferPool$Cache> threadLocalCache;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Lorg/xnio/ByteBufferPool$Cache;>;
private final org.xnio.ByteBufferPool$Cache defaultCache;
descriptor: Lorg/xnio/ByteBufferPool$Cache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int size;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean direct;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static final int LARGE_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1048576
public static final int MEDIUM_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
public static final int SMALL_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 64
static final int CACHE_LINE_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
public static final org.xnio.ByteBufferPool LARGE_DIRECT;
descriptor: Lorg/xnio/ByteBufferPool;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.xnio.ByteBufferPool MEDIUM_DIRECT;
descriptor: Lorg/xnio/ByteBufferPool;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.xnio.ByteBufferPool SMALL_DIRECT;
descriptor: Lorg/xnio/ByteBufferPool;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.xnio.ByteBufferPool LARGE_HEAP;
descriptor: Lorg/xnio/ByteBufferPool;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.xnio.ByteBufferPool MEDIUM_HEAP;
descriptor: Lorg/xnio/ByteBufferPool;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.xnio.ByteBufferPool SMALL_HEAP;
descriptor: Lorg/xnio/ByteBufferPool;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
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/xnio/ByteBufferPool;
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.xnio.ByteBufferPool.$assertionsDisabled:Z
3: ldc "xnio.buffer.slice-large-buffers"
ldc "true"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
putstatic org.xnio.ByteBufferPool.sliceLargeBuffers:Z
4: bipush 64
invokestatic org.wildfly.common.cpu.CacheInfo.getSmallestDataCacheLineSize:()I
invokestatic java.lang.Math.max:(II)I
putstatic org.xnio.ByteBufferPool.CACHE_LINE_SIZE:I
5: ldc 1048576
iconst_1
invokestatic org.xnio.ByteBufferPool.create:(IZ)Lorg/xnio/ByteBufferPool;
putstatic org.xnio.ByteBufferPool.LARGE_DIRECT:Lorg/xnio/ByteBufferPool;
6: getstatic org.xnio.ByteBufferPool.sliceLargeBuffers:Z
ifeq 7
getstatic org.xnio.ByteBufferPool.LARGE_DIRECT:Lorg/xnio/ByteBufferPool;
sipush 8192
invokestatic org.xnio.ByteBufferPool.subPool:(Lorg/xnio/ByteBufferPool;I)Lorg/xnio/ByteBufferPool;
goto 8
StackMap locals:
StackMap stack:
7: sipush 8192
iconst_1
invokestatic org.xnio.ByteBufferPool.create:(IZ)Lorg/xnio/ByteBufferPool;
StackMap locals:
StackMap stack: org.xnio.ByteBufferPool
8: putstatic org.xnio.ByteBufferPool.MEDIUM_DIRECT:Lorg/xnio/ByteBufferPool;
9: getstatic org.xnio.ByteBufferPool.MEDIUM_DIRECT:Lorg/xnio/ByteBufferPool;
bipush 64
invokestatic org.xnio.ByteBufferPool.subPool:(Lorg/xnio/ByteBufferPool;I)Lorg/xnio/ByteBufferPool;
putstatic org.xnio.ByteBufferPool.SMALL_DIRECT:Lorg/xnio/ByteBufferPool;
10: ldc 1048576
iconst_0
invokestatic org.xnio.ByteBufferPool.create:(IZ)Lorg/xnio/ByteBufferPool;
putstatic org.xnio.ByteBufferPool.LARGE_HEAP:Lorg/xnio/ByteBufferPool;
11: sipush 8192
iconst_0
invokestatic org.xnio.ByteBufferPool.create:(IZ)Lorg/xnio/ByteBufferPool;
putstatic org.xnio.ByteBufferPool.MEDIUM_HEAP:Lorg/xnio/ByteBufferPool;
12: bipush 64
iconst_0
invokestatic org.xnio.ByteBufferPool.create:(IZ)Lorg/xnio/ByteBufferPool;
putstatic org.xnio.ByteBufferPool.SMALL_HEAP:Lorg/xnio/ByteBufferPool;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(int, boolean);
descriptor: (IZ)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.ConcurrentLinkedQueue
dup
invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
putfield org.xnio.ByteBufferPool.masterQueue:Ljava/util/concurrent/ConcurrentLinkedQueue;
2: aload 0
aload 0
invokedynamic get(Lorg/xnio/ByteBufferPool;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/xnio/ByteBufferPool.getDefaultCache()Lorg/xnio/ByteBufferPool$Cache; (5)
()Lorg/xnio/ByteBufferPool$Cache;
invokestatic java.lang.ThreadLocal.withInitial:(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;
putfield org.xnio.ByteBufferPool.threadLocalCache:Ljava/lang/ThreadLocal;
3: aload 0
new org.xnio.ByteBufferPool$DefaultCache
dup
aload 0
invokespecial org.xnio.ByteBufferPool$DefaultCache.<init>:(Lorg/xnio/ByteBufferPool;)V
putfield org.xnio.ByteBufferPool.defaultCache:Lorg/xnio/ByteBufferPool$Cache;
4: getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 5
iload 1
invokestatic java.lang.Integer.bitCount:(I)I
iconst_1
if_icmpeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: org.xnio.ByteBufferPool int int
StackMap stack:
getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 6
iload 1
bipush 16
if_icmpge 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 7
iload 1
ldc 1073741824
if_icmple 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield org.xnio.ByteBufferPool.size:I
8: aload 0
iload 2
putfield org.xnio.ByteBufferPool.direct:Z
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/xnio/ByteBufferPool;
0 10 1 size I
0 10 2 direct Z
MethodParameters:
Name Flags
size final
direct final
public java.nio.ByteBuffer allocate();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.ByteBufferPool.threadLocalCache:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.xnio.ByteBufferPool$Cache
invokeinterface org.xnio.ByteBufferPool$Cache.allocate:()Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ByteBufferPool;
public void allocate(java.nio.ByteBuffer[], int);
descriptor: ([Ljava/nio/ByteBuffer;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
aload 1
arraylength
iload 2
isub
invokevirtual org.xnio.ByteBufferPool.allocate:([Ljava/nio/ByteBuffer;II)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/xnio/ByteBufferPool;
0 2 1 array [Ljava/nio/ByteBuffer;
0 2 2 offs I
MethodParameters:
Name Flags
array
offs
public void allocate(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "array"
aload 1
invokestatic org.wildfly.common.Assert.checkNotNullParam:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
iload 2
iload 3
invokestatic org.wildfly.common.Assert.checkArrayBounds:([Ljava/lang/Object;II)V
2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 1
iload 2
iload 4
iadd
aload 0
invokevirtual org.xnio.ByteBufferPool.allocate:()Ljava/nio/ByteBuffer;
aastore
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 3
if_icmplt 4
end local 4 7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/xnio/ByteBufferPool;
0 8 1 array [Ljava/nio/ByteBuffer;
0 8 2 offs I
0 8 3 len I
3 7 4 i I
MethodParameters:
Name Flags
array
offs
len
public static void free(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: ldc "buffer"
aload 0
invokestatic org.wildfly.common.Assert.checkNotNullParam:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual java.nio.ByteBuffer.capacity:()I
istore 1
start local 1 2: iload 1
invokestatic java.lang.Integer.bitCount:(I)I
iconst_1
if_icmpne 21
aload 0
invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
ifne 21
3: aload 0
invokevirtual java.nio.ByteBuffer.isDirect:()Z
ifeq 13
4: iload 1
sipush 8192
if_icmpne 7
5: getstatic org.xnio.ByteBufferPool.MEDIUM_DIRECT:Lorg/xnio/ByteBufferPool;
aload 0
invokevirtual org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
6: goto 21
StackMap locals: int
StackMap stack:
7: iload 1
bipush 64
if_icmpne 10
8: getstatic org.xnio.ByteBufferPool.SMALL_DIRECT:Lorg/xnio/ByteBufferPool;
aload 0
invokevirtual org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
9: goto 21
StackMap locals:
StackMap stack:
10: iload 1
ldc 1048576
if_icmpne 21
11: getstatic org.xnio.ByteBufferPool.LARGE_DIRECT:Lorg/xnio/ByteBufferPool;
aload 0
invokevirtual org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
12: goto 21
13: StackMap locals:
StackMap stack:
iload 1
sipush 8192
if_icmpne 16
14: getstatic org.xnio.ByteBufferPool.MEDIUM_HEAP:Lorg/xnio/ByteBufferPool;
aload 0
invokevirtual org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
15: goto 21
StackMap locals:
StackMap stack:
16: iload 1
bipush 64
if_icmpne 19
17: getstatic org.xnio.ByteBufferPool.SMALL_HEAP:Lorg/xnio/ByteBufferPool;
aload 0
invokevirtual org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
18: goto 21
StackMap locals:
StackMap stack:
19: iload 1
ldc 1048576
if_icmpne 21
20: getstatic org.xnio.ByteBufferPool.LARGE_HEAP:Lorg/xnio/ByteBufferPool;
aload 0
invokevirtual org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
21: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 buffer Ljava/nio/ByteBuffer;
2 22 1 size I
MethodParameters:
Name Flags
buffer
public static void free(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokestatic org.wildfly.common.Assert.checkArrayBounds:([Ljava/lang/Object;II)V
1: iconst_0
istore 3
start local 3 2: goto 29
3: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 3
iadd
aaload
astore 4
start local 4 4: aload 4
ifnonnull 6
5: goto 28
6: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.capacity:()I
istore 5
start local 5 7: iload 5
invokestatic java.lang.Integer.bitCount:(I)I
iconst_1
if_icmpne 27
aload 4
invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
ifne 27
8: aload 4
invokevirtual java.nio.ByteBuffer.isDirect:()Z
ifeq 19
9: aload 4
instanceof java.nio.MappedByteBuffer
ifne 27
10: iload 5
sipush 8192
if_icmpne 13
11: getstatic org.xnio.ByteBufferPool.MEDIUM_DIRECT:Lorg/xnio/ByteBufferPool;
aload 4
invokevirtual org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
12: goto 27
StackMap locals: int
StackMap stack:
13: iload 5
bipush 64
if_icmpne 16
14: getstatic org.xnio.ByteBufferPool.SMALL_DIRECT:Lorg/xnio/ByteBufferPool;
aload 4
invokevirtual org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
15: goto 27
StackMap locals:
StackMap stack:
16: iload 5
ldc 1048576
if_icmpne 27
17: getstatic org.xnio.ByteBufferPool.LARGE_DIRECT:Lorg/xnio/ByteBufferPool;
aload 4
invokevirtual org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
18: goto 27
19: StackMap locals:
StackMap stack:
iload 5
sipush 8192
if_icmpne 22
20: getstatic org.xnio.ByteBufferPool.MEDIUM_HEAP:Lorg/xnio/ByteBufferPool;
aload 4
invokevirtual org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
21: goto 27
StackMap locals:
StackMap stack:
22: iload 5
bipush 64
if_icmpne 25
23: getstatic org.xnio.ByteBufferPool.SMALL_HEAP:Lorg/xnio/ByteBufferPool;
aload 4
invokevirtual org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
24: goto 27
StackMap locals:
StackMap stack:
25: iload 5
ldc 1048576
if_icmpne 27
26: getstatic org.xnio.ByteBufferPool.LARGE_HEAP:Lorg/xnio/ByteBufferPool;
aload 4
invokevirtual org.xnio.ByteBufferPool.doFree:(Ljava/nio/ByteBuffer;)V
27: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 3
iadd
aconst_null
aastore
end local 5 end local 4 28: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
29: iload 3
iload 2
if_icmplt 3
end local 3 30: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 array [Ljava/nio/ByteBuffer;
0 31 1 offs I
0 31 2 len I
2 30 3 i I
4 28 4 buffer Ljava/nio/ByteBuffer;
7 28 5 size I
MethodParameters:
Name Flags
array
offs
len
public static void zeroAndFree(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.xnio.Buffers.zero:(Ljava/nio/ByteBuffer;)V
1: aload 0
invokestatic org.xnio.ByteBufferPool.free:(Ljava/nio/ByteBuffer;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 buffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buffer
public boolean isDirect();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.ByteBufferPool.direct:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ByteBufferPool;
public int getSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.ByteBufferPool.size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ByteBufferPool;
public void flushCaches();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.ByteBufferPool.threadLocalCache:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.xnio.ByteBufferPool$Cache
invokeinterface org.xnio.ByteBufferPool$Cache.flush:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/xnio/ByteBufferPool;
public static void flushAllCaches();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.xnio.ByteBufferPool.SMALL_HEAP:Lorg/xnio/ByteBufferPool;
invokevirtual org.xnio.ByteBufferPool.flushCaches:()V
1: getstatic org.xnio.ByteBufferPool.MEDIUM_HEAP:Lorg/xnio/ByteBufferPool;
invokevirtual org.xnio.ByteBufferPool.flushCaches:()V
2: getstatic org.xnio.ByteBufferPool.LARGE_HEAP:Lorg/xnio/ByteBufferPool;
invokevirtual org.xnio.ByteBufferPool.flushCaches:()V
3: getstatic org.xnio.ByteBufferPool.SMALL_DIRECT:Lorg/xnio/ByteBufferPool;
invokevirtual org.xnio.ByteBufferPool.flushCaches:()V
4: getstatic org.xnio.ByteBufferPool.MEDIUM_DIRECT:Lorg/xnio/ByteBufferPool;
invokevirtual org.xnio.ByteBufferPool.flushCaches:()V
5: getstatic org.xnio.ByteBufferPool.LARGE_DIRECT:Lorg/xnio/ByteBufferPool;
invokevirtual org.xnio.ByteBufferPool.flushCaches:()V
6: return
LocalVariableTable:
Start End Slot Name Signature
public <T, U, E extends java.lang.Exception> void acceptWithCacheEx(int, org.wildfly.common.function.ExceptionBiConsumer<T, U, E>, T, ) throws E;
descriptor: (ILorg/wildfly/common/function/ExceptionBiConsumer;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: ldc "cacheSize"
iconst_0
iload 1
invokestatic org.wildfly.common.Assert.checkMinimumParameter:(Ljava/lang/String;II)V
1: ldc "consumer"
aload 2
invokestatic org.wildfly.common.Assert.checkNotNullParam:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
getfield org.xnio.ByteBufferPool.threadLocalCache:Ljava/lang/ThreadLocal;
astore 5
start local 5 3: aload 5
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.xnio.ByteBufferPool$Cache
astore 6
start local 6 4: iload 1
ifne 7
5: aload 2
aload 3
aload 4
invokeinterface org.wildfly.common.function.ExceptionBiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
7: StackMap locals: java.lang.ThreadLocal org.xnio.ByteBufferPool$Cache
StackMap stack:
iload 1
bipush 64
if_icmpgt 24
8: iload 1
iconst_1
if_icmpne 11
9: new org.xnio.ByteBufferPool$OneCache
dup
aload 6
invokespecial org.xnio.ByteBufferPool$OneCache.<init>:(Lorg/xnio/ByteBufferPool$Cache;)V
astore 7
start local 7 10: goto 15
end local 7 StackMap locals:
StackMap stack:
11: iload 1
iconst_2
if_icmpne 14
12: new org.xnio.ByteBufferPool$TwoCache
dup
aload 6
invokespecial org.xnio.ByteBufferPool$TwoCache.<init>:(Lorg/xnio/ByteBufferPool$Cache;)V
astore 7
start local 7 13: goto 15
end local 7 14: StackMap locals:
StackMap stack:
new org.xnio.ByteBufferPool$MultiCache
dup
aload 6
iload 1
invokespecial org.xnio.ByteBufferPool$MultiCache.<init>:(Lorg/xnio/ByteBufferPool$Cache;I)V
astore 7
start local 7 15: StackMap locals: org.xnio.ByteBufferPool$Cache
StackMap stack:
aload 5
aload 7
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
16: aload 2
aload 3
aload 4
invokeinterface org.wildfly.common.function.ExceptionBiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
17: aload 5
aload 6
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
18: aload 7
invokeinterface org.xnio.ByteBufferPool$Cache.destroy:()V
19: return
20: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
21: aload 5
aload 6
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
22: aload 7
invokeinterface org.xnio.ByteBufferPool$Cache.destroy:()V
23: aload 8
athrow
end local 7 24: StackMap locals:
StackMap stack:
new org.xnio.ByteBufferPool$MultiCache
dup
aload 6
bipush 64
invokespecial org.xnio.ByteBufferPool$MultiCache.<init>:(Lorg/xnio/ByteBufferPool$Cache;I)V
astore 7
start local 7 25: aload 5
aload 7
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
26: aload 0
iload 1
bipush 64
isub
aload 2
aload 3
aload 4
invokevirtual org.xnio.ByteBufferPool.acceptWithCacheEx:(ILorg/wildfly/common/function/ExceptionBiConsumer;Ljava/lang/Object;Ljava/lang/Object;)V
27: aload 7
invokeinterface org.xnio.ByteBufferPool$Cache.destroy:()V
28: return
29: StackMap locals: org.xnio.ByteBufferPool int org.wildfly.common.function.ExceptionBiConsumer java.lang.Object java.lang.Object java.lang.ThreadLocal org.xnio.ByteBufferPool$Cache org.xnio.ByteBufferPool$Cache
StackMap stack: java.lang.Throwable
astore 8
30: aload 7
invokeinterface org.xnio.ByteBufferPool$Cache.destroy:()V
31: aload 8
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/xnio/ByteBufferPool;
0 32 1 cacheSize I
0 32 2 consumer Lorg/wildfly/common/function/ExceptionBiConsumer<TT;TU;TE;>;
0 32 3 param1 TT;
0 32 4 param2 TU;
3 32 5 threadLocalCache Ljava/lang/ThreadLocal<Lorg/xnio/ByteBufferPool$Cache;>;
4 32 6 parent Lorg/xnio/ByteBufferPool$Cache;
10 11 7 cache Lorg/xnio/ByteBufferPool$Cache;
13 14 7 cache Lorg/xnio/ByteBufferPool$Cache;
15 24 7 cache Lorg/xnio/ByteBufferPool$Cache;
25 32 7 cache Lorg/xnio/ByteBufferPool$Cache;
Exception table:
from to target type
16 17 20 any
26 27 29 any
Exceptions:
throws java.lang.Exception
Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;E:Ljava/lang/Exception;>(ILorg/wildfly/common/function/ExceptionBiConsumer<TT;TU;TE;>;TT;TU;)V^TE;
MethodParameters:
Name Flags
cacheSize
consumer
param1
param2
public <T, E extends java.lang.Exception> void acceptWithCacheEx(int, org.wildfly.common.function.ExceptionConsumer<T, E>, ) throws E;
descriptor: (ILorg/wildfly/common/function/ExceptionConsumer;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "consumer"
aload 2
invokestatic org.wildfly.common.Assert.checkNotNullParam:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
iload 1
invokestatic org.wildfly.common.function.Functions.exceptionConsumerBiConsumer:()Lorg/wildfly/common/function/ExceptionBiConsumer;
aload 2
aload 3
invokevirtual org.xnio.ByteBufferPool.acceptWithCacheEx:(ILorg/wildfly/common/function/ExceptionBiConsumer;Ljava/lang/Object;Ljava/lang/Object;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/xnio/ByteBufferPool;
0 3 1 cacheSize I
0 3 2 consumer Lorg/wildfly/common/function/ExceptionConsumer<TT;TE;>;
0 3 3 param TT;
Exceptions:
throws java.lang.Exception
Signature: <T:Ljava/lang/Object;E:Ljava/lang/Exception;>(ILorg/wildfly/common/function/ExceptionConsumer<TT;TE;>;TT;)V^TE;
MethodParameters:
Name Flags
cacheSize
consumer
param
public <E extends java.lang.Exception> void runWithCacheEx(int, org.wildfly.common.function.ExceptionRunnable<E>) throws E;
descriptor: (ILorg/wildfly/common/function/ExceptionRunnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc "runnable"
aload 2
invokestatic org.wildfly.common.Assert.checkNotNullParam:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
iload 1
invokestatic org.wildfly.common.function.Functions.exceptionRunnableConsumer:()Lorg/wildfly/common/function/ExceptionConsumer;
aload 2
invokevirtual org.xnio.ByteBufferPool.acceptWithCacheEx:(ILorg/wildfly/common/function/ExceptionConsumer;Ljava/lang/Object;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/xnio/ByteBufferPool;
0 3 1 cacheSize I
0 3 2 runnable Lorg/wildfly/common/function/ExceptionRunnable<TE;>;
Exceptions:
throws java.lang.Exception
Signature: <E:Ljava/lang/Exception;>(ILorg/wildfly/common/function/ExceptionRunnable<TE;>;)V^TE;
MethodParameters:
Name Flags
cacheSize
runnable
public void runWithCache(int, java.lang.Runnable);
descriptor: (ILjava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: ldc "runnable"
aload 2
invokestatic org.wildfly.common.Assert.checkNotNullParam:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
iload 1
invokedynamic accept()Lorg/wildfly/common/function/ExceptionConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
java/lang/Runnable.run()V (9 itf)
(Ljava/lang/Runnable;)V
aload 2
invokevirtual org.xnio.ByteBufferPool.acceptWithCacheEx:(ILorg/wildfly/common/function/ExceptionConsumer;Ljava/lang/Object;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/xnio/ByteBufferPool;
0 3 1 cacheSize I
0 3 2 runnable Ljava/lang/Runnable;
MethodParameters:
Name Flags
cacheSize
runnable
public <T, U, R, E extends java.lang.Exception> R applyWithCacheEx(int, org.wildfly.common.function.ExceptionBiFunction<T, U, R, E>, T, ) throws E;
descriptor: (ILorg/wildfly/common/function/ExceptionBiFunction;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: ldc "cacheSize"
iconst_0
iload 1
invokestatic org.wildfly.common.Assert.checkMinimumParameter:(Ljava/lang/String;II)V
1: ldc "function"
aload 2
invokestatic org.wildfly.common.Assert.checkNotNullParam:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
getfield org.xnio.ByteBufferPool.threadLocalCache:Ljava/lang/ThreadLocal;
astore 5
start local 5 3: aload 5
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.xnio.ByteBufferPool$Cache
astore 6
start local 6 4: iload 1
ifne 6
5: aload 2
aload 3
aload 4
invokeinterface org.wildfly.common.function.ExceptionBiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
6: StackMap locals: java.lang.ThreadLocal org.xnio.ByteBufferPool$Cache
StackMap stack:
iload 1
bipush 64
if_icmpgt 23
7: iload 1
iconst_1
if_icmpne 10
8: new org.xnio.ByteBufferPool$OneCache
dup
aload 6
invokespecial org.xnio.ByteBufferPool$OneCache.<init>:(Lorg/xnio/ByteBufferPool$Cache;)V
astore 7
start local 7 9: goto 14
end local 7 StackMap locals:
StackMap stack:
10: iload 1
iconst_2
if_icmpne 13
11: new org.xnio.ByteBufferPool$TwoCache
dup
aload 6
invokespecial org.xnio.ByteBufferPool$TwoCache.<init>:(Lorg/xnio/ByteBufferPool$Cache;)V
astore 7
start local 7 12: goto 14
end local 7 13: StackMap locals:
StackMap stack:
new org.xnio.ByteBufferPool$MultiCache
dup
aload 6
iload 1
invokespecial org.xnio.ByteBufferPool$MultiCache.<init>:(Lorg/xnio/ByteBufferPool$Cache;I)V
astore 7
start local 7 14: StackMap locals: org.xnio.ByteBufferPool$Cache
StackMap stack:
aload 5
aload 7
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
15: aload 2
aload 3
aload 4
invokeinterface org.wildfly.common.function.ExceptionBiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 9
16: aload 5
aload 6
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
17: aload 7
invokeinterface org.xnio.ByteBufferPool$Cache.destroy:()V
18: aload 9
areturn
19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
20: aload 5
aload 6
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
21: aload 7
invokeinterface org.xnio.ByteBufferPool$Cache.destroy:()V
22: aload 8
athrow
end local 7 23: StackMap locals:
StackMap stack:
new org.xnio.ByteBufferPool$MultiCache
dup
aload 6
bipush 64
invokespecial org.xnio.ByteBufferPool$MultiCache.<init>:(Lorg/xnio/ByteBufferPool$Cache;I)V
astore 7
start local 7 24: aload 5
aload 7
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
25: aload 0
iload 1
bipush 64
isub
aload 2
aload 3
aload 4
invokevirtual org.xnio.ByteBufferPool.applyWithCacheEx:(ILorg/wildfly/common/function/ExceptionBiFunction;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 9
26: aload 7
invokeinterface org.xnio.ByteBufferPool$Cache.destroy:()V
27: aload 9
areturn
28: StackMap locals: org.xnio.ByteBufferPool int org.wildfly.common.function.ExceptionBiFunction java.lang.Object java.lang.Object java.lang.ThreadLocal org.xnio.ByteBufferPool$Cache org.xnio.ByteBufferPool$Cache
StackMap stack: java.lang.Throwable
astore 8
29: aload 7
invokeinterface org.xnio.ByteBufferPool$Cache.destroy:()V
30: aload 8
athrow
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/xnio/ByteBufferPool;
0 31 1 cacheSize I
0 31 2 function Lorg/wildfly/common/function/ExceptionBiFunction<TT;TU;TR;TE;>;
0 31 3 param1 TT;
0 31 4 param2 TU;
3 31 5 threadLocalCache Ljava/lang/ThreadLocal<Lorg/xnio/ByteBufferPool$Cache;>;
4 31 6 parent Lorg/xnio/ByteBufferPool$Cache;
9 10 7 cache Lorg/xnio/ByteBufferPool$Cache;
12 13 7 cache Lorg/xnio/ByteBufferPool$Cache;
14 23 7 cache Lorg/xnio/ByteBufferPool$Cache;
24 31 7 cache Lorg/xnio/ByteBufferPool$Cache;
Exception table:
from to target type
15 16 19 any
25 26 28 any
Exceptions:
throws java.lang.Exception
Signature: <T:Ljava/lang/Object;U:Ljava/lang/Object;R:Ljava/lang/Object;E:Ljava/lang/Exception;>(ILorg/wildfly/common/function/ExceptionBiFunction<TT;TU;TR;TE;>;TT;TU;)TR;^TE;
MethodParameters:
Name Flags
cacheSize
function
param1
param2
public <T, R, E extends java.lang.Exception> R applyWithCacheEx(int, org.wildfly.common.function.ExceptionFunction<T, R, E>, ) throws E;
descriptor: (ILorg/wildfly/common/function/ExceptionFunction;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
invokestatic org.wildfly.common.function.Functions.exceptionFunctionBiFunction:()Lorg/wildfly/common/function/ExceptionBiFunction;
aload 2
aload 3
invokevirtual org.xnio.ByteBufferPool.applyWithCacheEx:(ILorg/wildfly/common/function/ExceptionBiFunction;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ByteBufferPool;
0 1 1 cacheSize I
0 1 2 function Lorg/wildfly/common/function/ExceptionFunction<TT;TR;TE;>;
0 1 3 param TT;
Exceptions:
throws java.lang.Exception
Signature: <T:Ljava/lang/Object;R:Ljava/lang/Object;E:Ljava/lang/Exception;>(ILorg/wildfly/common/function/ExceptionFunction<TT;TR;TE;>;TT;)TR;^TE;
MethodParameters:
Name Flags
cacheSize
function
param
public <R, E extends java.lang.Exception> R getWithCacheEx(int, org.wildfly.common.function.ExceptionSupplier<R, E>) throws E;
descriptor: (ILorg/wildfly/common/function/ExceptionSupplier;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokestatic org.wildfly.common.function.Functions.exceptionSupplierFunction:()Lorg/wildfly/common/function/ExceptionFunction;
aload 2
invokevirtual org.xnio.ByteBufferPool.applyWithCacheEx:(ILorg/wildfly/common/function/ExceptionFunction;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ByteBufferPool;
0 1 1 cacheSize I
0 1 2 supplier Lorg/wildfly/common/function/ExceptionSupplier<TR;TE;>;
Exceptions:
throws java.lang.Exception
Signature: <R:Ljava/lang/Object;E:Ljava/lang/Exception;>(ILorg/wildfly/common/function/ExceptionSupplier<TR;TE;>;)TR;^TE;
MethodParameters:
Name Flags
cacheSize
supplier
org.xnio.ByteBufferPool$Cache getDefaultCache();
descriptor: ()Lorg/xnio/ByteBufferPool$Cache;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.ByteBufferPool.defaultCache:Lorg/xnio/ByteBufferPool$Cache;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ByteBufferPool;
java.util.concurrent.ConcurrentLinkedQueue<java.nio.ByteBuffer> getMasterQueue();
descriptor: ()Ljava/util/concurrent/ConcurrentLinkedQueue;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.ByteBufferPool.masterQueue:Ljava/util/concurrent/ConcurrentLinkedQueue;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ByteBufferPool;
Signature: ()Ljava/util/concurrent/ConcurrentLinkedQueue<Ljava/nio/ByteBuffer;>;
private java.nio.ByteBuffer allocateMaster();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.xnio.ByteBufferPool.masterQueue:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.poll:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
invokevirtual org.xnio.ByteBufferPool.createBuffer:()Ljava/nio/ByteBuffer;
astore 1
3: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/xnio/ByteBufferPool;
1 4 1 byteBuffer Ljava/nio/ByteBuffer;
static org.xnio.ByteBufferPool create(int, boolean);
descriptor: (IZ)Lorg/xnio/ByteBufferPool;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 1
iload 0
invokestatic java.lang.Integer.bitCount:(I)I
iconst_1
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 2
iload 0
bipush 16
if_icmpge 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 3
iload 0
ldc 1073741824
if_icmple 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
new org.xnio.ByteBufferPool$1
dup
iload 0
iload 1
invokespecial org.xnio.ByteBufferPool$1.<init>:(IZ)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 size I
0 4 1 direct Z
MethodParameters:
Name Flags
size final
direct final
static org.xnio.ByteBufferPool subPool(org.xnio.ByteBufferPool, int);
descriptor: (Lorg/xnio/ByteBufferPool;I)Lorg/xnio/ByteBufferPool;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 1
iload 1
invokestatic java.lang.Integer.bitCount:(I)I
iconst_1
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 2
aload 0
invokevirtual org.xnio.ByteBufferPool.getSize:()I
invokestatic java.lang.Integer.bitCount:(I)I
iconst_1
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 3
iload 1
bipush 16
if_icmpge 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 4
iload 1
aload 0
invokevirtual org.xnio.ByteBufferPool.getSize:()I
if_icmplt 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 5
aload 0
invokevirtual org.xnio.ByteBufferPool.getSize:()I
iload 1
irem
ifeq 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
new org.xnio.ByteBufferPool$2
dup
iload 1
aload 0
invokevirtual org.xnio.ByteBufferPool.isDirect:()Z
aload 0
invokespecial org.xnio.ByteBufferPool$2.<init>:(IZLorg/xnio/ByteBufferPool;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 parent Lorg/xnio/ByteBufferPool;
0 6 1 size I
MethodParameters:
Name Flags
parent final
size final
abstract java.nio.ByteBuffer createBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0400) ACC_ABSTRACT
final void freeMaster(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.xnio.ByteBufferPool.masterQueue:Ljava/util/concurrent/ConcurrentLinkedQueue;
aload 1
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/xnio/ByteBufferPool;
0 2 1 buffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buffer
final void doFree(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual java.nio.ByteBuffer.capacity:()I
aload 0
getfield org.xnio.ByteBufferPool.size:I
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.xnio.ByteBufferPool.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual java.nio.ByteBuffer.isDirect:()Z
aload 0
getfield org.xnio.ByteBufferPool.direct:Z
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
3: aload 0
getfield org.xnio.ByteBufferPool.threadLocalCache:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast org.xnio.ByteBufferPool$Cache
aload 1
invokeinterface org.xnio.ByteBufferPool$Cache.free:(Ljava/nio/ByteBuffer;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/xnio/ByteBufferPool;
0 5 1 buffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buffer final
}
SourceFile: "ByteBufferPool.java"
NestMembers:
org.xnio.ByteBufferPool$1 org.xnio.ByteBufferPool$2 org.xnio.ByteBufferPool$Cache org.xnio.ByteBufferPool$DefaultCache org.xnio.ByteBufferPool$MultiCache org.xnio.ByteBufferPool$OneCache org.xnio.ByteBufferPool$Set org.xnio.ByteBufferPool$TwoCache
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
org.xnio.ByteBufferPool$1
org.xnio.ByteBufferPool$2
abstract Cache = org.xnio.ByteBufferPool$Cache of org.xnio.ByteBufferPool
final DefaultCache = org.xnio.ByteBufferPool$DefaultCache of org.xnio.ByteBufferPool
final MultiCache = org.xnio.ByteBufferPool$MultiCache of org.xnio.ByteBufferPool
final OneCache = org.xnio.ByteBufferPool$OneCache of org.xnio.ByteBufferPool
public final Set = org.xnio.ByteBufferPool$Set of org.xnio.ByteBufferPool
final TwoCache = org.xnio.ByteBufferPool$TwoCache of org.xnio.ByteBufferPool