final class io.netty.buffer.PoolArena$HeapArena extends io.netty.buffer.PoolArena<byte[]>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.buffer.PoolArena$HeapArena
  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 // io.netty.buffer.PoolArena$HeapArena this
        start local 1 // io.netty.buffer.PooledByteBufAllocator parent
        start local 2 // int pageSize
        start local 3 // int maxOrder
        start local 4 // int pageShifts
        start local 5 // int chunkSize
        start local 6 // int directMemoryCacheAlignment
         0: .line 671
            aload 0 /* this */
            aload 1 /* parent */
            iload 2 /* pageSize */
            iload 3 /* maxOrder */
            iload 4 /* pageShifts */
            iload 5 /* chunkSize */
         1: .line 672
            iload 6 /* directMemoryCacheAlignment */
            invokespecial io.netty.buffer.PoolArena.<init>:(Lio/netty/buffer/PooledByteBufAllocator;IIIII)V
         2: .line 673
            return
        end local 6 // int directMemoryCacheAlignment
        end local 5 // int chunkSize
        end local 4 // int pageShifts
        end local 3 // int maxOrder
        end local 2 // int pageSize
        end local 1 // io.netty.buffer.PooledByteBufAllocator parent
        end local 0 // io.netty.buffer.PoolArena$HeapArena this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    3     0                        this  Lio/netty/buffer/PoolArena$HeapArena;
            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  

  private static byte[] newByteArray(int);
    descriptor: (I)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int size
         0: .line 676
            iload 0 /* size */
            invokestatic io.netty.util.internal.PlatformDependent.allocateUninitializedArray:(I)[B
            areturn
        end local 0 // int size
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  size  I
    MethodParameters:
      Name  Flags
      size  

  boolean isDirect();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena$HeapArena this
         0: .line 681
            iconst_0
            ireturn
        end local 0 // io.netty.buffer.PoolArena$HeapArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena$HeapArena;

  protected io.netty.buffer.PoolChunk<byte[]> newChunk(int, int, int, int);
    descriptor: (IIII)Lio/netty/buffer/PoolChunk;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=5, args_size=5
        start local 0 // io.netty.buffer.PoolArena$HeapArena this
        start local 1 // int pageSize
        start local 2 // int maxOrder
        start local 3 // int pageShifts
        start local 4 // int chunkSize
         0: .line 686
            new io.netty.buffer.PoolChunk
            dup
            aload 0 /* this */
            iload 4 /* chunkSize */
            invokestatic io.netty.buffer.PoolArena$HeapArena.newByteArray:(I)[B
            iload 1 /* pageSize */
            iload 2 /* maxOrder */
            iload 3 /* pageShifts */
            iload 4 /* chunkSize */
            iconst_0
            invokespecial io.netty.buffer.PoolChunk.<init>:(Lio/netty/buffer/PoolArena;Ljava/lang/Object;IIIII)V
            areturn
        end local 4 // int chunkSize
        end local 3 // int pageShifts
        end local 2 // int maxOrder
        end local 1 // int pageSize
        end local 0 // io.netty.buffer.PoolArena$HeapArena this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lio/netty/buffer/PoolArena$HeapArena;
            0    1     1    pageSize  I
            0    1     2    maxOrder  I
            0    1     3  pageShifts  I
            0    1     4   chunkSize  I
    Signature: (IIII)Lio/netty/buffer/PoolChunk<[B>;
    MethodParameters:
            Name  Flags
      pageSize    
      maxOrder    
      pageShifts  
      chunkSize   

  protected io.netty.buffer.PoolChunk<byte[]> newUnpooledChunk(int);
    descriptor: (I)Lio/netty/buffer/PoolChunk;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // io.netty.buffer.PoolArena$HeapArena this
        start local 1 // int capacity
         0: .line 691
            new io.netty.buffer.PoolChunk
            dup
            aload 0 /* this */
            iload 1 /* capacity */
            invokestatic io.netty.buffer.PoolArena$HeapArena.newByteArray:(I)[B
            iload 1 /* capacity */
            iconst_0
            invokespecial io.netty.buffer.PoolChunk.<init>:(Lio/netty/buffer/PoolArena;Ljava/lang/Object;II)V
            areturn
        end local 1 // int capacity
        end local 0 // io.netty.buffer.PoolArena$HeapArena this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/netty/buffer/PoolArena$HeapArena;
            0    1     1  capacity  I
    Signature: (I)Lio/netty/buffer/PoolChunk<[B>;
    MethodParameters:
          Name  Flags
      capacity  

  protected void destroyChunk(io.netty.buffer.PoolChunk<byte[]>);
    descriptor: (Lio/netty/buffer/PoolChunk;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // io.netty.buffer.PoolArena$HeapArena this
        start local 1 // io.netty.buffer.PoolChunk chunk
         0: .line 697
            return
        end local 1 // io.netty.buffer.PoolChunk chunk
        end local 0 // io.netty.buffer.PoolArena$HeapArena this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/netty/buffer/PoolArena$HeapArena;
            0    1     1  chunk  Lio/netty/buffer/PoolChunk<[B>;
    Signature: (Lio/netty/buffer/PoolChunk<[B>;)V
    MethodParameters:
       Name  Flags
      chunk  

  protected io.netty.buffer.PooledByteBuf<byte[]> newByteBuf(int);
    descriptor: (I)Lio/netty/buffer/PooledByteBuf;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.netty.buffer.PoolArena$HeapArena this
        start local 1 // int maxCapacity
         0: .line 701
            getstatic io.netty.buffer.PoolArena$HeapArena.HAS_UNSAFE:Z
            ifeq 1
            iload 1 /* maxCapacity */
            invokestatic io.netty.buffer.PooledUnsafeHeapByteBuf.newUnsafeInstance:(I)Lio/netty/buffer/PooledUnsafeHeapByteBuf;
            goto 2
         1: .line 702
      StackMap locals:
      StackMap stack:
            iload 1 /* maxCapacity */
            invokestatic io.netty.buffer.PooledHeapByteBuf.newInstance:(I)Lio/netty/buffer/PooledHeapByteBuf;
         2: .line 701
      StackMap locals:
      StackMap stack: io.netty.buffer.PooledHeapByteBuf
            areturn
        end local 1 // int maxCapacity
        end local 0 // io.netty.buffer.PoolArena$HeapArena this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/netty/buffer/PoolArena$HeapArena;
            0    3     1  maxCapacity  I
    Signature: (I)Lio/netty/buffer/PooledByteBuf<[B>;
    MethodParameters:
             Name  Flags
      maxCapacity  

  protected void memoryCopy(byte[], int, byte[], int, int);
    descriptor: ([BI[BII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // io.netty.buffer.PoolArena$HeapArena this
        start local 1 // byte[] src
        start local 2 // int srcOffset
        start local 3 // byte[] dst
        start local 4 // int dstOffset
        start local 5 // int length
         0: .line 707
            iload 5 /* length */
            ifne 2
         1: .line 708
            return
         2: .line 711
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            iload 2 /* srcOffset */
            aload 3 /* dst */
            iload 4 /* dstOffset */
            iload 5 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 712
            return
        end local 5 // int length
        end local 4 // int dstOffset
        end local 3 // byte[] dst
        end local 2 // int srcOffset
        end local 1 // byte[] src
        end local 0 // io.netty.buffer.PoolArena$HeapArena this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lio/netty/buffer/PoolArena$HeapArena;
            0    4     1        src  [B
            0    4     2  srcOffset  I
            0    4     3        dst  [B
            0    4     4  dstOffset  I
            0    4     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: .line 1
            aload 0
            aload 1
            checkcast byte[]
            iload 2
            aload 3
            checkcast byte[]
            iload 4
            iload 5
            invokevirtual io.netty.buffer.PoolArena$HeapArena.memoryCopy:([BI[BII)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lio/netty/buffer/PoolArena<[B>;
SourceFile: "PoolArena.java"
NestHost: io.netty.buffer.PoolArena
InnerClasses:
  final HeapArena = io.netty.buffer.PoolArena$HeapArena of io.netty.buffer.PoolArena