final class io.netty.buffer.PoolThreadCache
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.buffer.PoolThreadCache
super_class: java.lang.Object
{
private static final io.netty.util.internal.logging.InternalLogger logger;
descriptor: Lio/netty/util/internal/logging/InternalLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
final io.netty.buffer.PoolArena<byte[]> heapArena;
descriptor: Lio/netty/buffer/PoolArena;
flags: (0x0010) ACC_FINAL
Signature: Lio/netty/buffer/PoolArena<[B>;
final io.netty.buffer.PoolArena<java.nio.ByteBuffer> directArena;
descriptor: Lio/netty/buffer/PoolArena;
flags: (0x0010) ACC_FINAL
Signature: Lio/netty/buffer/PoolArena<Ljava/nio/ByteBuffer;>;
private final io.netty.buffer.PoolThreadCache$MemoryRegionCache<byte[]> tinySubPageHeapCaches;
descriptor: [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<[B>;
private final io.netty.buffer.PoolThreadCache$MemoryRegionCache<byte[]> smallSubPageHeapCaches;
descriptor: [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<[B>;
private final io.netty.buffer.PoolThreadCache$MemoryRegionCache<java.nio.ByteBuffer>[] tinySubPageDirectCaches;
descriptor: [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<Ljava/nio/ByteBuffer;>;
private final io.netty.buffer.PoolThreadCache$MemoryRegionCache<java.nio.ByteBuffer>[] smallSubPageDirectCaches;
descriptor: [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<Ljava/nio/ByteBuffer;>;
private final io.netty.buffer.PoolThreadCache$MemoryRegionCache<byte[]> normalHeapCaches;
descriptor: [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<[B>;
private final io.netty.buffer.PoolThreadCache$MemoryRegionCache<java.nio.ByteBuffer>[] normalDirectCaches;
descriptor: [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<Ljava/nio/ByteBuffer;>;
private final int numShiftsNormalDirect;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int numShiftsNormalHeap;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int freeSweepAllocationThreshold;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int allocations;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$io$netty$buffer$PoolArena$SizeClass;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/netty/buffer/PoolThreadCache;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
putstatic io.netty.buffer.PoolThreadCache.logger:Lio/netty/util/internal/logging/InternalLogger;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(io.netty.buffer.PoolArena<byte[]>, io.netty.buffer.PoolArena<java.nio.ByteBuffer>, int, int, int, int, );
descriptor: (Lio/netty/buffer/PoolArena;Lio/netty/buffer/PoolArena;IIIII)V
flags: (0x0000)
Code:
stack=5, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iload 6
ifge 5
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "maxCachedBufferCapacity: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (expected: >= 0)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: io.netty.buffer.PoolThreadCache io.netty.buffer.PoolArena io.netty.buffer.PoolArena int int int int int
StackMap stack:
aload 0
iload 7
putfield io.netty.buffer.PoolThreadCache.freeSweepAllocationThreshold:I
6: aload 0
aload 1
putfield io.netty.buffer.PoolThreadCache.heapArena:Lio/netty/buffer/PoolArena;
7: aload 0
aload 2
putfield io.netty.buffer.PoolThreadCache.directArena:Lio/netty/buffer/PoolArena;
8: aload 2
ifnull 21
9: aload 0
10: iload 3
bipush 32
getstatic io.netty.buffer.PoolArena$SizeClass.Tiny:Lio/netty/buffer/PoolArena$SizeClass;
11: invokestatic io.netty.buffer.PoolThreadCache.createSubPageCaches:(IILio/netty/buffer/PoolArena$SizeClass;)[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
putfield io.netty.buffer.PoolThreadCache.tinySubPageDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
12: aload 0
13: iload 4
aload 2
getfield io.netty.buffer.PoolArena.numSmallSubpagePools:I
getstatic io.netty.buffer.PoolArena$SizeClass.Small:Lio/netty/buffer/PoolArena$SizeClass;
14: invokestatic io.netty.buffer.PoolThreadCache.createSubPageCaches:(IILio/netty/buffer/PoolArena$SizeClass;)[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
putfield io.netty.buffer.PoolThreadCache.smallSubPageDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
15: aload 0
aload 2
getfield io.netty.buffer.PoolArena.pageSize:I
invokestatic io.netty.buffer.PoolThreadCache.log2:(I)I
putfield io.netty.buffer.PoolThreadCache.numShiftsNormalDirect:I
16: aload 0
17: iload 5
iload 6
aload 2
18: invokestatic io.netty.buffer.PoolThreadCache.createNormalCaches:(IILio/netty/buffer/PoolArena;)[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
putfield io.netty.buffer.PoolThreadCache.normalDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
19: aload 2
getfield io.netty.buffer.PoolArena.numThreadCaches:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
pop
20: goto 25
21: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.netty.buffer.PoolThreadCache.tinySubPageDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
22: aload 0
aconst_null
putfield io.netty.buffer.PoolThreadCache.smallSubPageDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
23: aload 0
aconst_null
putfield io.netty.buffer.PoolThreadCache.normalDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
24: aload 0
iconst_m1
putfield io.netty.buffer.PoolThreadCache.numShiftsNormalDirect:I
25: StackMap locals:
StackMap stack:
aload 1
ifnull 38
26: aload 0
27: iload 3
bipush 32
getstatic io.netty.buffer.PoolArena$SizeClass.Tiny:Lio/netty/buffer/PoolArena$SizeClass;
28: invokestatic io.netty.buffer.PoolThreadCache.createSubPageCaches:(IILio/netty/buffer/PoolArena$SizeClass;)[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
putfield io.netty.buffer.PoolThreadCache.tinySubPageHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
29: aload 0
30: iload 4
aload 1
getfield io.netty.buffer.PoolArena.numSmallSubpagePools:I
getstatic io.netty.buffer.PoolArena$SizeClass.Small:Lio/netty/buffer/PoolArena$SizeClass;
31: invokestatic io.netty.buffer.PoolThreadCache.createSubPageCaches:(IILio/netty/buffer/PoolArena$SizeClass;)[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
putfield io.netty.buffer.PoolThreadCache.smallSubPageHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
32: aload 0
aload 1
getfield io.netty.buffer.PoolArena.pageSize:I
invokestatic io.netty.buffer.PoolThreadCache.log2:(I)I
putfield io.netty.buffer.PoolThreadCache.numShiftsNormalHeap:I
33: aload 0
34: iload 5
iload 6
aload 1
35: invokestatic io.netty.buffer.PoolThreadCache.createNormalCaches:(IILio/netty/buffer/PoolArena;)[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
putfield io.netty.buffer.PoolThreadCache.normalHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
36: aload 1
getfield io.netty.buffer.PoolArena.numThreadCaches:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
pop
37: goto 42
38: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.netty.buffer.PoolThreadCache.tinySubPageHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
39: aload 0
aconst_null
putfield io.netty.buffer.PoolThreadCache.smallSubPageHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
40: aload 0
aconst_null
putfield io.netty.buffer.PoolThreadCache.normalHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
41: aload 0
iconst_m1
putfield io.netty.buffer.PoolThreadCache.numShiftsNormalHeap:I
42: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.buffer.PoolThreadCache.tinySubPageDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
ifnonnull 44
aload 0
getfield io.netty.buffer.PoolThreadCache.smallSubPageDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
ifnonnull 44
aload 0
getfield io.netty.buffer.PoolThreadCache.normalDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
ifnonnull 44
43: aload 0
getfield io.netty.buffer.PoolThreadCache.tinySubPageHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
ifnonnull 44
aload 0
getfield io.netty.buffer.PoolThreadCache.smallSubPageHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
ifnonnull 44
aload 0
getfield io.netty.buffer.PoolThreadCache.normalHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
ifnull 48
44: StackMap locals:
StackMap stack:
iload 7
iconst_1
if_icmpge 48
45: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "freeSweepAllocationThreshold: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
46: iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (expected: > 0)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
47: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
48: StackMap locals:
StackMap stack:
return
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 49 0 this Lio/netty/buffer/PoolThreadCache;
0 49 1 heapArena Lio/netty/buffer/PoolArena<[B>;
0 49 2 directArena Lio/netty/buffer/PoolArena<Ljava/nio/ByteBuffer;>;
0 49 3 tinyCacheSize I
0 49 4 smallCacheSize I
0 49 5 normalCacheSize I
0 49 6 maxCachedBufferCapacity I
0 49 7 freeSweepAllocationThreshold I
Signature: (Lio/netty/buffer/PoolArena<[B>;Lio/netty/buffer/PoolArena<Ljava/nio/ByteBuffer;>;IIIII)V
MethodParameters:
Name Flags
heapArena
directArena
tinyCacheSize
smallCacheSize
normalCacheSize
maxCachedBufferCapacity
freeSweepAllocationThreshold
private static <T> io.netty.buffer.PoolThreadCache$MemoryRegionCache<T>[] createSubPageCaches(int, int, io.netty.buffer.PoolArena$SizeClass);
descriptor: (IILio/netty/buffer/PoolArena$SizeClass;)[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 0
ifle 8
iload 1
ifle 8
1: iload 1
anewarray io.netty.buffer.PoolThreadCache$MemoryRegionCache
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: io.netty.buffer.PoolThreadCache$MemoryRegionCache[] int
StackMap stack:
aload 3
iload 4
new io.netty.buffer.PoolThreadCache$SubPageMemoryRegionCache
dup
iload 0
aload 2
invokespecial io.netty.buffer.PoolThreadCache$SubPageMemoryRegionCache.<init>:(ILio/netty/buffer/PoolArena$SizeClass;)V
aastore
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 3
arraylength
if_icmplt 4
end local 4 7: aload 3
areturn
end local 3 8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 cacheSize I
0 9 1 numCaches I
0 9 2 sizeClass Lio/netty/buffer/PoolArena$SizeClass;
2 8 3 cache [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
3 7 4 i I
Signature: <T:Ljava/lang/Object;>(IILio/netty/buffer/PoolArena$SizeClass;)[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<TT;>;
MethodParameters:
Name Flags
cacheSize
numCaches
sizeClass
private static <T> io.netty.buffer.PoolThreadCache$MemoryRegionCache<T>[] createNormalCaches(int, int, io.netty.buffer.PoolArena<T>);
descriptor: (IILio/netty/buffer/PoolArena;)[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 0
ifle 10
iload 1
ifle 10
1: aload 2
getfield io.netty.buffer.PoolArena.chunkSize:I
iload 1
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 2: iconst_1
iload 3
aload 2
getfield io.netty.buffer.PoolArena.pageSize:I
idiv
invokestatic io.netty.buffer.PoolThreadCache.log2:(I)I
iconst_1
iadd
invokestatic java.lang.Math.max:(II)I
istore 4
start local 4 3: iload 4
anewarray io.netty.buffer.PoolThreadCache$MemoryRegionCache
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: goto 8
6: StackMap locals: int int io.netty.buffer.PoolArena int int io.netty.buffer.PoolThreadCache$MemoryRegionCache[] int
StackMap stack:
aload 5
iload 6
new io.netty.buffer.PoolThreadCache$NormalMemoryRegionCache
dup
iload 0
invokespecial io.netty.buffer.PoolThreadCache$NormalMemoryRegionCache.<init>:(I)V
aastore
7: iinc 6 1
StackMap locals:
StackMap stack:
8: iload 6
aload 5
arraylength
if_icmplt 6
end local 6 9: aload 5
areturn
end local 5 end local 4 end local 3 10: StackMap locals: int int io.netty.buffer.PoolArena
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 cacheSize I
0 11 1 maxCachedBufferCapacity I
0 11 2 area Lio/netty/buffer/PoolArena<TT;>;
2 10 3 max I
3 10 4 arraySize I
4 10 5 cache [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
5 9 6 i I
Signature: <T:Ljava/lang/Object;>(IILio/netty/buffer/PoolArena<TT;>;)[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<TT;>;
MethodParameters:
Name Flags
cacheSize
maxCachedBufferCapacity
area
private static int log2(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 4
2: StackMap locals: int
StackMap stack:
iload 0
iconst_1
ishr
istore 0
3: iinc 1 1
4: StackMap locals:
StackMap stack:
iload 0
iconst_1
if_icmpgt 2
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 val I
1 6 1 res I
MethodParameters:
Name Flags
val
boolean allocateTiny(io.netty.buffer.PoolArena<?>, io.netty.buffer.PooledByteBuf<?>, int, );
descriptor: (Lio/netty/buffer/PoolArena;Lio/netty/buffer/PooledByteBuf;II)Z
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 0
aload 1
iload 4
invokevirtual io.netty.buffer.PoolThreadCache.cacheForTiny:(Lio/netty/buffer/PoolArena;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
aload 2
iload 3
invokevirtual io.netty.buffer.PoolThreadCache.allocate:(Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;Lio/netty/buffer/PooledByteBuf;I)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/buffer/PoolThreadCache;
0 1 1 area Lio/netty/buffer/PoolArena<*>;
0 1 2 buf Lio/netty/buffer/PooledByteBuf<*>;
0 1 3 reqCapacity I
0 1 4 normCapacity I
Signature: (Lio/netty/buffer/PoolArena<*>;Lio/netty/buffer/PooledByteBuf<*>;II)Z
MethodParameters:
Name Flags
area
buf
reqCapacity
normCapacity
boolean allocateSmall(io.netty.buffer.PoolArena<?>, io.netty.buffer.PooledByteBuf<?>, int, );
descriptor: (Lio/netty/buffer/PoolArena;Lio/netty/buffer/PooledByteBuf;II)Z
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 0
aload 1
iload 4
invokevirtual io.netty.buffer.PoolThreadCache.cacheForSmall:(Lio/netty/buffer/PoolArena;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
aload 2
iload 3
invokevirtual io.netty.buffer.PoolThreadCache.allocate:(Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;Lio/netty/buffer/PooledByteBuf;I)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/buffer/PoolThreadCache;
0 1 1 area Lio/netty/buffer/PoolArena<*>;
0 1 2 buf Lio/netty/buffer/PooledByteBuf<*>;
0 1 3 reqCapacity I
0 1 4 normCapacity I
Signature: (Lio/netty/buffer/PoolArena<*>;Lio/netty/buffer/PooledByteBuf<*>;II)Z
MethodParameters:
Name Flags
area
buf
reqCapacity
normCapacity
boolean allocateNormal(io.netty.buffer.PoolArena<?>, io.netty.buffer.PooledByteBuf<?>, int, );
descriptor: (Lio/netty/buffer/PoolArena;Lio/netty/buffer/PooledByteBuf;II)Z
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 0
aload 1
iload 4
invokevirtual io.netty.buffer.PoolThreadCache.cacheForNormal:(Lio/netty/buffer/PoolArena;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
aload 2
iload 3
invokevirtual io.netty.buffer.PoolThreadCache.allocate:(Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;Lio/netty/buffer/PooledByteBuf;I)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/buffer/PoolThreadCache;
0 1 1 area Lio/netty/buffer/PoolArena<*>;
0 1 2 buf Lio/netty/buffer/PooledByteBuf<*>;
0 1 3 reqCapacity I
0 1 4 normCapacity I
Signature: (Lio/netty/buffer/PoolArena<*>;Lio/netty/buffer/PooledByteBuf<*>;II)Z
MethodParameters:
Name Flags
area
buf
reqCapacity
normCapacity
private boolean allocate(io.netty.buffer.PoolThreadCache$MemoryRegionCache<?>, io.netty.buffer.PooledByteBuf, );
descriptor: (Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;Lio/netty/buffer/PooledByteBuf;I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
aload 2
iload 3
invokevirtual io.netty.buffer.PoolThreadCache$MemoryRegionCache.allocate:(Lio/netty/buffer/PooledByteBuf;I)Z
istore 4
start local 4 3: aload 0
dup
getfield io.netty.buffer.PoolThreadCache.allocations:I
iconst_1
iadd
dup_x1
putfield io.netty.buffer.PoolThreadCache.allocations:I
aload 0
getfield io.netty.buffer.PoolThreadCache.freeSweepAllocationThreshold:I
if_icmplt 6
4: aload 0
iconst_0
putfield io.netty.buffer.PoolThreadCache.allocations:I
5: aload 0
invokevirtual io.netty.buffer.PoolThreadCache.trim:()V
6: StackMap locals: int
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/buffer/PoolThreadCache;
0 7 1 cache Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;
0 7 2 buf Lio/netty/buffer/PooledByteBuf;
0 7 3 reqCapacity I
3 7 4 allocated Z
Signature: (Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;Lio/netty/buffer/PooledByteBuf;I)Z
MethodParameters:
Name Flags
cache
buf
reqCapacity
boolean add(io.netty.buffer.PoolArena<?>, io.netty.buffer.PoolChunk, long, int, io.netty.buffer.PoolArena$SizeClass);
descriptor: (Lio/netty/buffer/PoolArena;Lio/netty/buffer/PoolChunk;JILio/netty/buffer/PoolArena$SizeClass;)Z
flags: (0x0000)
Code:
stack=4, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 5 start local 6 0: aload 0
aload 1
iload 5
aload 6
invokevirtual io.netty.buffer.PoolThreadCache.cache:(Lio/netty/buffer/PoolArena;ILio/netty/buffer/PoolArena$SizeClass;)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
astore 7
start local 7 1: aload 7
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: io.netty.buffer.PoolThreadCache$MemoryRegionCache
StackMap stack:
aload 7
aload 2
lload 3
invokevirtual io.netty.buffer.PoolThreadCache$MemoryRegionCache.add:(Lio/netty/buffer/PoolChunk;J)Z
ireturn
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/buffer/PoolThreadCache;
0 4 1 area Lio/netty/buffer/PoolArena<*>;
0 4 2 chunk Lio/netty/buffer/PoolChunk;
0 4 3 handle J
0 4 5 normCapacity I
0 4 6 sizeClass Lio/netty/buffer/PoolArena$SizeClass;
1 4 7 cache Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;
Signature: (Lio/netty/buffer/PoolArena<*>;Lio/netty/buffer/PoolChunk;JILio/netty/buffer/PoolArena$SizeClass;)Z
MethodParameters:
Name Flags
area
chunk
handle
normCapacity
sizeClass
private io.netty.buffer.PoolThreadCache$MemoryRegionCache<?> cache(io.netty.buffer.PoolArena<?>, int, io.netty.buffer.PoolArena$SizeClass);
descriptor: (Lio/netty/buffer/PoolArena;ILio/netty/buffer/PoolArena$SizeClass;)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic io.netty.buffer.PoolThreadCache.$SWITCH_TABLE$io$netty$buffer$PoolArena$SizeClass:()[I
aload 3
invokevirtual io.netty.buffer.PoolArena$SizeClass.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 3
2: 2
3: 1
default: 4
}
1: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual io.netty.buffer.PoolThreadCache.cacheForNormal:(Lio/netty/buffer/PoolArena;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual io.netty.buffer.PoolThreadCache.cacheForSmall:(Lio/netty/buffer/PoolArena;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
invokevirtual io.netty.buffer.PoolThreadCache.cacheForTiny:(Lio/netty/buffer/PoolArena;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
areturn
4: StackMap locals:
StackMap stack:
new java.lang.Error
dup
invokespecial java.lang.Error.<init>:()V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/buffer/PoolThreadCache;
0 5 1 area Lio/netty/buffer/PoolArena<*>;
0 5 2 normCapacity I
0 5 3 sizeClass Lio/netty/buffer/PoolArena$SizeClass;
Signature: (Lio/netty/buffer/PoolArena<*>;ILio/netty/buffer/PoolArena$SizeClass;)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;
MethodParameters:
Name Flags
area
normCapacity
sizeClass
void free();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield io.netty.buffer.PoolThreadCache.tinySubPageDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
invokestatic io.netty.buffer.PoolThreadCache.free:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)I
1: aload 0
getfield io.netty.buffer.PoolThreadCache.smallSubPageDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
invokestatic io.netty.buffer.PoolThreadCache.free:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)I
2: iadd
3: aload 0
getfield io.netty.buffer.PoolThreadCache.normalDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
invokestatic io.netty.buffer.PoolThreadCache.free:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)I
4: iadd
5: aload 0
getfield io.netty.buffer.PoolThreadCache.tinySubPageHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
invokestatic io.netty.buffer.PoolThreadCache.free:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)I
6: iadd
7: aload 0
getfield io.netty.buffer.PoolThreadCache.smallSubPageHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
invokestatic io.netty.buffer.PoolThreadCache.free:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)I
8: iadd
9: aload 0
getfield io.netty.buffer.PoolThreadCache.normalHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
invokestatic io.netty.buffer.PoolThreadCache.free:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)I
10: iadd
istore 1
start local 1 11: iload 1
ifle 13
getstatic io.netty.buffer.PoolThreadCache.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isDebugEnabled:()Z
ifeq 13
12: getstatic io.netty.buffer.PoolThreadCache.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Freed {} thread-local buffer(s) from thread: {}"
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getName:()Ljava/lang/String;
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
13: StackMap locals: int
StackMap stack:
aload 0
getfield io.netty.buffer.PoolThreadCache.directArena:Lio/netty/buffer/PoolArena;
ifnull 15
14: aload 0
getfield io.netty.buffer.PoolThreadCache.directArena:Lio/netty/buffer/PoolArena;
getfield io.netty.buffer.PoolArena.numThreadCaches:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndDecrement:()I
pop
15: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.buffer.PoolThreadCache.heapArena:Lio/netty/buffer/PoolArena;
ifnull 17
16: aload 0
getfield io.netty.buffer.PoolThreadCache.heapArena:Lio/netty/buffer/PoolArena;
getfield io.netty.buffer.PoolArena.numThreadCaches:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndDecrement:()I
pop
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/netty/buffer/PoolThreadCache;
11 18 1 numFreed I
private static int free(io.netty.buffer.PoolThreadCache$MemoryRegionCache<?>[]);
descriptor: ([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: io.netty.buffer.PoolThreadCache$MemoryRegionCache[] int top int int io.netty.buffer.PoolThreadCache$MemoryRegionCache[]
StackMap stack:
4: aload 5
iload 3
aaload
astore 2
start local 2 5: iload 1
aload 2
invokestatic io.netty.buffer.PoolThreadCache.free:(Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)I
iadd
istore 1
end local 2 6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 4
8: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 caches [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
3 9 1 numFreed I
5 6 2 c Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;
Signature: ([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;)I
MethodParameters:
Name Flags
caches
private static int free(io.netty.buffer.PoolThreadCache$MemoryRegionCache<?>);
descriptor: (Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.buffer.PoolThreadCache$MemoryRegionCache.free:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 cache Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;
Signature: (Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;)I
MethodParameters:
Name Flags
cache
void trim();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.buffer.PoolThreadCache.tinySubPageDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
invokestatic io.netty.buffer.PoolThreadCache.trim:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)V
1: aload 0
getfield io.netty.buffer.PoolThreadCache.smallSubPageDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
invokestatic io.netty.buffer.PoolThreadCache.trim:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)V
2: aload 0
getfield io.netty.buffer.PoolThreadCache.normalDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
invokestatic io.netty.buffer.PoolThreadCache.trim:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)V
3: aload 0
getfield io.netty.buffer.PoolThreadCache.tinySubPageHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
invokestatic io.netty.buffer.PoolThreadCache.trim:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)V
4: aload 0
getfield io.netty.buffer.PoolThreadCache.smallSubPageHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
invokestatic io.netty.buffer.PoolThreadCache.trim:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)V
5: aload 0
getfield io.netty.buffer.PoolThreadCache.normalHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
invokestatic io.netty.buffer.PoolThreadCache.trim:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/buffer/PoolThreadCache;
private static void trim(io.netty.buffer.PoolThreadCache$MemoryRegionCache<?>[]);
descriptor: ([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 6
StackMap locals: io.netty.buffer.PoolThreadCache$MemoryRegionCache[] top int int io.netty.buffer.PoolThreadCache$MemoryRegionCache[]
StackMap stack:
3: aload 4
iload 2
aaload
astore 1
start local 1 4: aload 1
invokestatic io.netty.buffer.PoolThreadCache.trim:(Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)V
end local 1 5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
iload 3
if_icmplt 3
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 caches [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
4 5 1 c Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;
Signature: ([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;)V
MethodParameters:
Name Flags
caches
private static void trim(io.netty.buffer.PoolThreadCache$MemoryRegionCache<?>);
descriptor: (Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.buffer.PoolThreadCache$MemoryRegionCache.trim:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cache Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;
Signature: (Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;)V
MethodParameters:
Name Flags
cache
private io.netty.buffer.PoolThreadCache$MemoryRegionCache<?> cacheForTiny(io.netty.buffer.PoolArena<?>, int);
descriptor: (Lio/netty/buffer/PoolArena;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
invokestatic io.netty.buffer.PoolArena.tinyIdx:(I)I
istore 3
start local 3 1: aload 1
invokevirtual io.netty.buffer.PoolArena.isDirect:()Z
ifeq 3
2: aload 0
getfield io.netty.buffer.PoolThreadCache.tinySubPageDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
iload 3
invokestatic io.netty.buffer.PoolThreadCache.cache:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
areturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield io.netty.buffer.PoolThreadCache.tinySubPageHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
iload 3
invokestatic io.netty.buffer.PoolThreadCache.cache:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/buffer/PoolThreadCache;
0 4 1 area Lio/netty/buffer/PoolArena<*>;
0 4 2 normCapacity I
1 4 3 idx I
Signature: (Lio/netty/buffer/PoolArena<*>;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;
MethodParameters:
Name Flags
area
normCapacity
private io.netty.buffer.PoolThreadCache$MemoryRegionCache<?> cacheForSmall(io.netty.buffer.PoolArena<?>, int);
descriptor: (Lio/netty/buffer/PoolArena;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
invokestatic io.netty.buffer.PoolArena.smallIdx:(I)I
istore 3
start local 3 1: aload 1
invokevirtual io.netty.buffer.PoolArena.isDirect:()Z
ifeq 3
2: aload 0
getfield io.netty.buffer.PoolThreadCache.smallSubPageDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
iload 3
invokestatic io.netty.buffer.PoolThreadCache.cache:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
areturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield io.netty.buffer.PoolThreadCache.smallSubPageHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
iload 3
invokestatic io.netty.buffer.PoolThreadCache.cache:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/buffer/PoolThreadCache;
0 4 1 area Lio/netty/buffer/PoolArena<*>;
0 4 2 normCapacity I
1 4 3 idx I
Signature: (Lio/netty/buffer/PoolArena<*>;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;
MethodParameters:
Name Flags
area
normCapacity
private io.netty.buffer.PoolThreadCache$MemoryRegionCache<?> cacheForNormal(io.netty.buffer.PoolArena<?>, int);
descriptor: (Lio/netty/buffer/PoolArena;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.netty.buffer.PoolArena.isDirect:()Z
ifeq 3
1: iload 2
aload 0
getfield io.netty.buffer.PoolThreadCache.numShiftsNormalDirect:I
ishr
invokestatic io.netty.buffer.PoolThreadCache.log2:(I)I
istore 3
start local 3 2: aload 0
getfield io.netty.buffer.PoolThreadCache.normalDirectCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
iload 3
invokestatic io.netty.buffer.PoolThreadCache.cache:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
areturn
end local 3 3: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield io.netty.buffer.PoolThreadCache.numShiftsNormalHeap:I
ishr
invokestatic io.netty.buffer.PoolThreadCache.log2:(I)I
istore 3
start local 3 4: aload 0
getfield io.netty.buffer.PoolThreadCache.normalHeapCaches:[Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
iload 3
invokestatic io.netty.buffer.PoolThreadCache.cache:([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/buffer/PoolThreadCache;
0 5 1 area Lio/netty/buffer/PoolArena<*>;
0 5 2 normCapacity I
2 3 3 idx I
4 5 3 idx I
Signature: (Lio/netty/buffer/PoolArena<*>;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<*>;
MethodParameters:
Name Flags
area
normCapacity
private static <T> io.netty.buffer.PoolThreadCache$MemoryRegionCache<T> cache(io.netty.buffer.PoolThreadCache$MemoryRegionCache<T>[], int);
descriptor: ([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
iload 1
aload 0
arraylength
iconst_1
isub
if_icmple 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 cache [Lio/netty/buffer/PoolThreadCache$MemoryRegionCache;
0 3 1 idx I
Signature: <T:Ljava/lang/Object;>([Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<TT;>;I)Lio/netty/buffer/PoolThreadCache$MemoryRegionCache<TT;>;
MethodParameters:
Name Flags
cache
idx
static int[] $SWITCH_TABLE$io$netty$buffer$PoolArena$SizeClass();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.buffer.PoolThreadCache.$SWITCH_TABLE$io$netty$buffer$PoolArena$SizeClass:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.buffer.PoolArena$SizeClass.values:()[Lio/netty/buffer/PoolArena$SizeClass;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.buffer.PoolArena$SizeClass.Normal:Lio/netty/buffer/PoolArena$SizeClass;
invokevirtual io.netty.buffer.PoolArena$SizeClass.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.netty.buffer.PoolArena$SizeClass.Small:Lio/netty/buffer/PoolArena$SizeClass;
invokevirtual io.netty.buffer.PoolArena$SizeClass.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic io.netty.buffer.PoolArena$SizeClass.Tiny:Lio/netty/buffer/PoolArena$SizeClass;
invokevirtual io.netty.buffer.PoolArena$SizeClass.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic io.netty.buffer.PoolThreadCache.$SWITCH_TABLE$io$netty$buffer$PoolArena$SizeClass:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "PoolThreadCache.java"
NestMembers:
io.netty.buffer.PoolThreadCache$MemoryRegionCache io.netty.buffer.PoolThreadCache$MemoryRegionCache$1 io.netty.buffer.PoolThreadCache$MemoryRegionCache$Entry io.netty.buffer.PoolThreadCache$NormalMemoryRegionCache io.netty.buffer.PoolThreadCache$SubPageMemoryRegionCache
InnerClasses:
final SizeClass = io.netty.buffer.PoolArena$SizeClass of io.netty.buffer.PoolArena
private abstract MemoryRegionCache = io.netty.buffer.PoolThreadCache$MemoryRegionCache of io.netty.buffer.PoolThreadCache
private final NormalMemoryRegionCache = io.netty.buffer.PoolThreadCache$NormalMemoryRegionCache of io.netty.buffer.PoolThreadCache
private final SubPageMemoryRegionCache = io.netty.buffer.PoolThreadCache$SubPageMemoryRegionCache of io.netty.buffer.PoolThreadCache