final class io.netty.buffer.PoolArena$DirectArena extends io.netty.buffer.PoolArena<java.nio.ByteBuffer>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.buffer.PoolArena$DirectArena
super_class: io.netty.buffer.PoolArena
{
void <init>(io.netty.buffer.PooledByteBufAllocator, int, int, int, int, int);
descriptor: (Lio/netty/buffer/PooledByteBufAllocator;IIIII)V
flags: (0x0000)
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
iload 2
iload 3
iload 4
iload 5
1: iload 6
invokespecial io.netty.buffer.PoolArena.<init>:(Lio/netty/buffer/PooledByteBufAllocator;IIIII)V
2: return
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 3 0 this Lio/netty/buffer/PoolArena$DirectArena;
0 3 1 parent Lio/netty/buffer/PooledByteBufAllocator;
0 3 2 pageSize I
0 3 3 maxOrder I
0 3 4 pageShifts I
0 3 5 chunkSize I
0 3 6 directMemoryCacheAlignment I
MethodParameters:
Name Flags
parent
pageSize
maxOrder
pageShifts
chunkSize
directMemoryCacheAlignment
boolean isDirect();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/buffer/PoolArena$DirectArena;
private int offsetCacheLine(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.netty.buffer.PoolArena$DirectArena.HAS_UNSAFE:Z
ifeq 2
1: aload 1
invokestatic io.netty.util.internal.PlatformDependent.directBufferAddress:(Ljava/nio/ByteBuffer;)J
aload 0
getfield io.netty.buffer.PoolArena$DirectArena.directMemoryCacheAlignmentMask:I
i2l
land
l2i
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
3: StackMap locals:
StackMap stack: int
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/buffer/PoolArena$DirectArena;
0 4 1 memory Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
memory
protected io.netty.buffer.PoolChunk<java.nio.ByteBuffer> newChunk(int, int, int, int);
descriptor: (IIII)Lio/netty/buffer/PoolChunk;
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield io.netty.buffer.PoolArena$DirectArena.directMemoryCacheAlignment:I
ifne 5
1: new io.netty.buffer.PoolChunk
dup
aload 0
2: iload 4
invokestatic io.netty.buffer.PoolArena$DirectArena.allocateDirect:(I)Ljava/nio/ByteBuffer;
iload 1
iload 2
3: iload 3
iload 4
iconst_0
4: invokespecial io.netty.buffer.PoolChunk.<init>:(Lio/netty/buffer/PoolArena;Ljava/lang/Object;IIIII)V
areturn
5: StackMap locals:
StackMap stack:
iload 4
6: aload 0
getfield io.netty.buffer.PoolArena$DirectArena.directMemoryCacheAlignment:I
7: iadd
invokestatic io.netty.buffer.PoolArena$DirectArena.allocateDirect:(I)Ljava/nio/ByteBuffer;
astore 5
start local 5 8: new io.netty.buffer.PoolChunk
dup
aload 0
aload 5
iload 1
9: iload 2
iload 3
iload 4
10: aload 0
aload 5
invokevirtual io.netty.buffer.PoolArena$DirectArena.offsetCacheLine:(Ljava/nio/ByteBuffer;)I
11: invokespecial io.netty.buffer.PoolChunk.<init>:(Lio/netty/buffer/PoolArena;Ljava/lang/Object;IIIII)V
areturn
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 12 0 this Lio/netty/buffer/PoolArena$DirectArena;
0 12 1 pageSize I
0 12 2 maxOrder I
0 12 3 pageShifts I
0 12 4 chunkSize I
8 12 5 memory Ljava/nio/ByteBuffer;
Signature: (IIII)Lio/netty/buffer/PoolChunk<Ljava/nio/ByteBuffer;>;
MethodParameters:
Name Flags
pageSize
maxOrder
pageShifts
chunkSize
protected io.netty.buffer.PoolChunk<java.nio.ByteBuffer> newUnpooledChunk(int);
descriptor: (I)Lio/netty/buffer/PoolChunk;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.buffer.PoolArena$DirectArena.directMemoryCacheAlignment:I
ifne 4
1: new io.netty.buffer.PoolChunk
dup
aload 0
2: iload 1
invokestatic io.netty.buffer.PoolArena$DirectArena.allocateDirect:(I)Ljava/nio/ByteBuffer;
iload 1
iconst_0
3: invokespecial io.netty.buffer.PoolChunk.<init>:(Lio/netty/buffer/PoolArena;Ljava/lang/Object;II)V
areturn
4: StackMap locals:
StackMap stack:
iload 1
5: aload 0
getfield io.netty.buffer.PoolArena$DirectArena.directMemoryCacheAlignment:I
6: iadd
invokestatic io.netty.buffer.PoolArena$DirectArena.allocateDirect:(I)Ljava/nio/ByteBuffer;
astore 2
start local 2 7: new io.netty.buffer.PoolChunk
dup
aload 0
aload 2
iload 1
8: aload 0
aload 2
invokevirtual io.netty.buffer.PoolArena$DirectArena.offsetCacheLine:(Ljava/nio/ByteBuffer;)I
9: invokespecial io.netty.buffer.PoolChunk.<init>:(Lio/netty/buffer/PoolArena;Ljava/lang/Object;II)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/netty/buffer/PoolArena$DirectArena;
0 10 1 capacity I
7 10 2 memory Ljava/nio/ByteBuffer;
Signature: (I)Lio/netty/buffer/PoolChunk<Ljava/nio/ByteBuffer;>;
MethodParameters:
Name Flags
capacity
private static java.nio.ByteBuffer allocateDirect(int);
descriptor: (I)Ljava/nio/ByteBuffer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic io.netty.util.internal.PlatformDependent.useDirectBufferNoCleaner:()Z
ifeq 2
1: iload 0
invokestatic io.netty.util.internal.PlatformDependent.allocateDirectNoCleaner:(I)Ljava/nio/ByteBuffer;
goto 3
StackMap locals:
StackMap stack:
2: iload 0
invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
3: StackMap locals:
StackMap stack: java.nio.ByteBuffer
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 capacity I
MethodParameters:
Name Flags
capacity
protected void destroyChunk(io.netty.buffer.PoolChunk<java.nio.ByteBuffer>);
descriptor: (Lio/netty/buffer/PoolChunk;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: invokestatic io.netty.util.internal.PlatformDependent.useDirectBufferNoCleaner:()Z
ifeq 3
1: aload 1
getfield io.netty.buffer.PoolChunk.memory:Ljava/lang/Object;
checkcast java.nio.ByteBuffer
invokestatic io.netty.util.internal.PlatformDependent.freeDirectNoCleaner:(Ljava/nio/ByteBuffer;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 1
getfield io.netty.buffer.PoolChunk.memory:Ljava/lang/Object;
checkcast java.nio.ByteBuffer
invokestatic io.netty.util.internal.PlatformDependent.freeDirectBuffer:(Ljava/nio/ByteBuffer;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/buffer/PoolArena$DirectArena;
0 5 1 chunk Lio/netty/buffer/PoolChunk<Ljava/nio/ByteBuffer;>;
Signature: (Lio/netty/buffer/PoolChunk<Ljava/nio/ByteBuffer;>;)V
MethodParameters:
Name Flags
chunk
protected io.netty.buffer.PooledByteBuf<java.nio.ByteBuffer> newByteBuf(int);
descriptor: (I)Lio/netty/buffer/PooledByteBuf;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.netty.buffer.PoolArena$DirectArena.HAS_UNSAFE:Z
ifeq 2
1: iload 1
invokestatic io.netty.buffer.PooledUnsafeDirectByteBuf.newInstance:(I)Lio/netty/buffer/PooledUnsafeDirectByteBuf;
areturn
2: StackMap locals:
StackMap stack:
iload 1
invokestatic io.netty.buffer.PooledDirectByteBuf.newInstance:(I)Lio/netty/buffer/PooledDirectByteBuf;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/buffer/PoolArena$DirectArena;
0 3 1 maxCapacity I
Signature: (I)Lio/netty/buffer/PooledByteBuf<Ljava/nio/ByteBuffer;>;
MethodParameters:
Name Flags
maxCapacity
protected void memoryCopy(java.nio.ByteBuffer, int, java.nio.ByteBuffer, int, int);
descriptor: (Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;II)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 5
ifne 2
1: return
2: StackMap locals:
StackMap stack:
getstatic io.netty.buffer.PoolArena$DirectArena.HAS_UNSAFE:Z
ifeq 7
3: aload 1
invokestatic io.netty.util.internal.PlatformDependent.directBufferAddress:(Ljava/nio/ByteBuffer;)J
iload 2
i2l
ladd
4: aload 3
invokestatic io.netty.util.internal.PlatformDependent.directBufferAddress:(Ljava/nio/ByteBuffer;)J
iload 4
i2l
ladd
iload 5
i2l
5: invokestatic io.netty.util.internal.PlatformDependent.copyMemory:(JJJ)V
6: goto 12
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
astore 1
8: aload 3
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
astore 3
9: aload 1
iload 2
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
iload 2
iload 5
iadd
invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
pop
10: aload 3
iload 4
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
11: aload 3
aload 1
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
12: StackMap locals:
StackMap stack:
return
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 13 0 this Lio/netty/buffer/PoolArena$DirectArena;
0 13 1 src Ljava/nio/ByteBuffer;
0 13 2 srcOffset I
0 13 3 dst Ljava/nio/ByteBuffer;
0 13 4 dstOffset I
0 13 5 length I
MethodParameters:
Name Flags
src
srcOffset
dst
dstOffset
length
protected void memoryCopy(java.lang.Object, int, java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;II)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=6, locals=6, args_size=6
0: aload 0
aload 1
checkcast java.nio.ByteBuffer
iload 2
aload 3
checkcast java.nio.ByteBuffer
iload 4
iload 5
invokevirtual io.netty.buffer.PoolArena$DirectArena.memoryCopy:(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;II)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lio/netty/buffer/PoolArena<Ljava/nio/ByteBuffer;>;
SourceFile: "PoolArena.java"
NestHost: io.netty.buffer.PoolArena
InnerClasses:
final DirectArena = io.netty.buffer.PoolArena$DirectArena of io.netty.buffer.PoolArena