abstract class io.netty.buffer.PoolArena<T> implements io.netty.buffer.PoolArenaMetric
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: io.netty.buffer.PoolArena
  super_class: java.lang.Object
{
  static final boolean HAS_UNSAFE;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int numTinySubpagePools;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  final io.netty.buffer.PooledByteBufAllocator parent;
    descriptor: Lio/netty/buffer/PooledByteBufAllocator;
    flags: (0x0010) ACC_FINAL

  private final int maxOrder;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final int pageSize;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final int pageShifts;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final int chunkSize;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final int subpageOverflowMask;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final int numSmallSubpagePools;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final int directMemoryCacheAlignment;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final int directMemoryCacheAlignmentMask;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  private final io.netty.buffer.PoolSubpage<T>[] tinySubpagePools;
    descriptor: [Lio/netty/buffer/PoolSubpage;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: [Lio/netty/buffer/PoolSubpage<TT;>;

  private final io.netty.buffer.PoolSubpage<T>[] smallSubpagePools;
    descriptor: [Lio/netty/buffer/PoolSubpage;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: [Lio/netty/buffer/PoolSubpage<TT;>;

  private final io.netty.buffer.PoolChunkList<T> q050;
    descriptor: Lio/netty/buffer/PoolChunkList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/buffer/PoolChunkList<TT;>;

  private final io.netty.buffer.PoolChunkList<T> q025;
    descriptor: Lio/netty/buffer/PoolChunkList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/buffer/PoolChunkList<TT;>;

  private final io.netty.buffer.PoolChunkList<T> q000;
    descriptor: Lio/netty/buffer/PoolChunkList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/buffer/PoolChunkList<TT;>;

  private final io.netty.buffer.PoolChunkList<T> qInit;
    descriptor: Lio/netty/buffer/PoolChunkList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/buffer/PoolChunkList<TT;>;

  private final io.netty.buffer.PoolChunkList<T> q075;
    descriptor: Lio/netty/buffer/PoolChunkList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/buffer/PoolChunkList<TT;>;

  private final io.netty.buffer.PoolChunkList<T> q100;
    descriptor: Lio/netty/buffer/PoolChunkList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/buffer/PoolChunkList<TT;>;

  private final java.util.List<io.netty.buffer.PoolChunkListMetric> chunkListMetrics;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lio/netty/buffer/PoolChunkListMetric;>;

  private long allocationsNormal;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private final io.netty.util.internal.LongCounter allocationsTiny;
    descriptor: Lio/netty/util/internal/LongCounter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.util.internal.LongCounter allocationsSmall;
    descriptor: Lio/netty/util/internal/LongCounter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.util.internal.LongCounter allocationsHuge;
    descriptor: Lio/netty/util/internal/LongCounter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.util.internal.LongCounter activeBytesHuge;
    descriptor: Lio/netty/util/internal/LongCounter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long deallocationsTiny;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long deallocationsSmall;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long deallocationsNormal;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private final io.netty.util.internal.LongCounter deallocationsHuge;
    descriptor: Lio/netty/util/internal/LongCounter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final java.util.concurrent.atomic.AtomicInteger numThreadCaches;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0010) ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  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: .line 31
            ldc Lio/netty/buffer/PoolArena;
            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 io.netty.buffer.PoolArena.$assertionsDisabled:Z
         3: .line 32
            invokestatic io.netty.util.internal.PlatformDependent.hasUnsafe:()Z
            putstatic io.netty.buffer.PoolArena.HAS_UNSAFE:Z
         4: .line 40
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(io.netty.buffer.PooledByteBufAllocator, int, int, int, int, int);
    descriptor: (Lio/netty/buffer/PooledByteBufAllocator;IIIII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=8, args_size=7
        start local 0 // io.netty.buffer.PoolArena 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 cacheAlignment
         0: .line 85
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 67
            aload 0 /* this */
            invokestatic io.netty.util.internal.PlatformDependent.newLongCounter:()Lio/netty/util/internal/LongCounter;
            putfield io.netty.buffer.PoolArena.allocationsTiny:Lio/netty/util/internal/LongCounter;
         2: .line 68
            aload 0 /* this */
            invokestatic io.netty.util.internal.PlatformDependent.newLongCounter:()Lio/netty/util/internal/LongCounter;
            putfield io.netty.buffer.PoolArena.allocationsSmall:Lio/netty/util/internal/LongCounter;
         3: .line 69
            aload 0 /* this */
            invokestatic io.netty.util.internal.PlatformDependent.newLongCounter:()Lio/netty/util/internal/LongCounter;
            putfield io.netty.buffer.PoolArena.allocationsHuge:Lio/netty/util/internal/LongCounter;
         4: .line 70
            aload 0 /* this */
            invokestatic io.netty.util.internal.PlatformDependent.newLongCounter:()Lio/netty/util/internal/LongCounter;
            putfield io.netty.buffer.PoolArena.activeBytesHuge:Lio/netty/util/internal/LongCounter;
         5: .line 77
            aload 0 /* this */
            invokestatic io.netty.util.internal.PlatformDependent.newLongCounter:()Lio/netty/util/internal/LongCounter;
            putfield io.netty.buffer.PoolArena.deallocationsHuge:Lio/netty/util/internal/LongCounter;
         6: .line 80
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putfield io.netty.buffer.PoolArena.numThreadCaches:Ljava/util/concurrent/atomic/AtomicInteger;
         7: .line 87
            aload 0 /* this */
            aload 1 /* parent */
            putfield io.netty.buffer.PoolArena.parent:Lio/netty/buffer/PooledByteBufAllocator;
         8: .line 88
            aload 0 /* this */
            iload 2 /* pageSize */
            putfield io.netty.buffer.PoolArena.pageSize:I
         9: .line 89
            aload 0 /* this */
            iload 3 /* maxOrder */
            putfield io.netty.buffer.PoolArena.maxOrder:I
        10: .line 90
            aload 0 /* this */
            iload 4 /* pageShifts */
            putfield io.netty.buffer.PoolArena.pageShifts:I
        11: .line 91
            aload 0 /* this */
            iload 5 /* chunkSize */
            putfield io.netty.buffer.PoolArena.chunkSize:I
        12: .line 92
            aload 0 /* this */
            iload 6 /* cacheAlignment */
            putfield io.netty.buffer.PoolArena.directMemoryCacheAlignment:I
        13: .line 93
            aload 0 /* this */
            iload 6 /* cacheAlignment */
            iconst_1
            isub
            putfield io.netty.buffer.PoolArena.directMemoryCacheAlignmentMask:I
        14: .line 94
            aload 0 /* this */
            iload 2 /* pageSize */
            iconst_1
            isub
            iconst_m1
            ixor
            putfield io.netty.buffer.PoolArena.subpageOverflowMask:I
        15: .line 95
            aload 0 /* this */
            aload 0 /* this */
            bipush 32
            invokevirtual io.netty.buffer.PoolArena.newSubpagePoolArray:(I)[Lio/netty/buffer/PoolSubpage;
            putfield io.netty.buffer.PoolArena.tinySubpagePools:[Lio/netty/buffer/PoolSubpage;
        16: .line 96
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        17: goto 20
        18: .line 97
      StackMap locals: io.netty.buffer.PoolArena io.netty.buffer.PooledByteBufAllocator int int int int int int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.tinySubpagePools:[Lio/netty/buffer/PoolSubpage;
            iload 7 /* i */
            aload 0 /* this */
            iload 2 /* pageSize */
            invokevirtual io.netty.buffer.PoolArena.newSubpagePoolHead:(I)Lio/netty/buffer/PoolSubpage;
            aastore
        19: .line 96
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* i */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.tinySubpagePools:[Lio/netty/buffer/PoolSubpage;
            arraylength
            if_icmplt 18
        end local 7 // int i
        21: .line 100
            aload 0 /* this */
            iload 4 /* pageShifts */
            bipush 9
            isub
            putfield io.netty.buffer.PoolArena.numSmallSubpagePools:I
        22: .line 101
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.numSmallSubpagePools:I
            invokevirtual io.netty.buffer.PoolArena.newSubpagePoolArray:(I)[Lio/netty/buffer/PoolSubpage;
            putfield io.netty.buffer.PoolArena.smallSubpagePools:[Lio/netty/buffer/PoolSubpage;
        23: .line 102
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        24: goto 27
        25: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.smallSubpagePools:[Lio/netty/buffer/PoolSubpage;
            iload 7 /* i */
            aload 0 /* this */
            iload 2 /* pageSize */
            invokevirtual io.netty.buffer.PoolArena.newSubpagePoolHead:(I)Lio/netty/buffer/PoolSubpage;
            aastore
        26: .line 102
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 7 /* i */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.smallSubpagePools:[Lio/netty/buffer/PoolSubpage;
            arraylength
            if_icmplt 25
        end local 7 // int i
        28: .line 106
            aload 0 /* this */
            new io.netty.buffer.PoolChunkList
            dup
            aload 0 /* this */
            aconst_null
            bipush 100
            ldc 2147483647
            iload 5 /* chunkSize */
            invokespecial io.netty.buffer.PoolChunkList.<init>:(Lio/netty/buffer/PoolArena;Lio/netty/buffer/PoolChunkList;III)V
            putfield io.netty.buffer.PoolArena.q100:Lio/netty/buffer/PoolChunkList;
        29: .line 107
            aload 0 /* this */
            new io.netty.buffer.PoolChunkList
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q100:Lio/netty/buffer/PoolChunkList;
            bipush 75
            bipush 100
            iload 5 /* chunkSize */
            invokespecial io.netty.buffer.PoolChunkList.<init>:(Lio/netty/buffer/PoolArena;Lio/netty/buffer/PoolChunkList;III)V
            putfield io.netty.buffer.PoolArena.q075:Lio/netty/buffer/PoolChunkList;
        30: .line 108
            aload 0 /* this */
            new io.netty.buffer.PoolChunkList
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q075:Lio/netty/buffer/PoolChunkList;
            bipush 50
            bipush 100
            iload 5 /* chunkSize */
            invokespecial io.netty.buffer.PoolChunkList.<init>:(Lio/netty/buffer/PoolArena;Lio/netty/buffer/PoolChunkList;III)V
            putfield io.netty.buffer.PoolArena.q050:Lio/netty/buffer/PoolChunkList;
        31: .line 109
            aload 0 /* this */
            new io.netty.buffer.PoolChunkList
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q050:Lio/netty/buffer/PoolChunkList;
            bipush 25
            bipush 75
            iload 5 /* chunkSize */
            invokespecial io.netty.buffer.PoolChunkList.<init>:(Lio/netty/buffer/PoolArena;Lio/netty/buffer/PoolChunkList;III)V
            putfield io.netty.buffer.PoolArena.q025:Lio/netty/buffer/PoolChunkList;
        32: .line 110
            aload 0 /* this */
            new io.netty.buffer.PoolChunkList
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q025:Lio/netty/buffer/PoolChunkList;
            iconst_1
            bipush 50
            iload 5 /* chunkSize */
            invokespecial io.netty.buffer.PoolChunkList.<init>:(Lio/netty/buffer/PoolArena;Lio/netty/buffer/PoolChunkList;III)V
            putfield io.netty.buffer.PoolArena.q000:Lio/netty/buffer/PoolChunkList;
        33: .line 111
            aload 0 /* this */
            new io.netty.buffer.PoolChunkList
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q000:Lio/netty/buffer/PoolChunkList;
            ldc -2147483648
            bipush 25
            iload 5 /* chunkSize */
            invokespecial io.netty.buffer.PoolChunkList.<init>:(Lio/netty/buffer/PoolArena;Lio/netty/buffer/PoolChunkList;III)V
            putfield io.netty.buffer.PoolArena.qInit:Lio/netty/buffer/PoolChunkList;
        34: .line 113
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q100:Lio/netty/buffer/PoolChunkList;
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q075:Lio/netty/buffer/PoolChunkList;
            invokevirtual io.netty.buffer.PoolChunkList.prevList:(Lio/netty/buffer/PoolChunkList;)V
        35: .line 114
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q075:Lio/netty/buffer/PoolChunkList;
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q050:Lio/netty/buffer/PoolChunkList;
            invokevirtual io.netty.buffer.PoolChunkList.prevList:(Lio/netty/buffer/PoolChunkList;)V
        36: .line 115
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q050:Lio/netty/buffer/PoolChunkList;
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q025:Lio/netty/buffer/PoolChunkList;
            invokevirtual io.netty.buffer.PoolChunkList.prevList:(Lio/netty/buffer/PoolChunkList;)V
        37: .line 116
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q025:Lio/netty/buffer/PoolChunkList;
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q000:Lio/netty/buffer/PoolChunkList;
            invokevirtual io.netty.buffer.PoolChunkList.prevList:(Lio/netty/buffer/PoolChunkList;)V
        38: .line 117
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q000:Lio/netty/buffer/PoolChunkList;
            aconst_null
            invokevirtual io.netty.buffer.PoolChunkList.prevList:(Lio/netty/buffer/PoolChunkList;)V
        39: .line 118
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.qInit:Lio/netty/buffer/PoolChunkList;
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.qInit:Lio/netty/buffer/PoolChunkList;
            invokevirtual io.netty.buffer.PoolChunkList.prevList:(Lio/netty/buffer/PoolChunkList;)V
        40: .line 120
            new java.util.ArrayList
            dup
            bipush 6
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* metrics */
        start local 7 // java.util.List metrics
        41: .line 121
            aload 7 /* metrics */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.qInit:Lio/netty/buffer/PoolChunkList;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        42: .line 122
            aload 7 /* metrics */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q000:Lio/netty/buffer/PoolChunkList;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        43: .line 123
            aload 7 /* metrics */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q025:Lio/netty/buffer/PoolChunkList;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        44: .line 124
            aload 7 /* metrics */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q050:Lio/netty/buffer/PoolChunkList;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        45: .line 125
            aload 7 /* metrics */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q075:Lio/netty/buffer/PoolChunkList;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 126
            aload 7 /* metrics */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q100:Lio/netty/buffer/PoolChunkList;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        47: .line 127
            aload 0 /* this */
            aload 7 /* metrics */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield io.netty.buffer.PoolArena.chunkListMetrics:Ljava/util/List;
        48: .line 128
            return
        end local 7 // java.util.List metrics
        end local 6 // int cacheAlignment
        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 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   49     0            this  Lio/netty/buffer/PoolArena<TT;>;
            0   49     1          parent  Lio/netty/buffer/PooledByteBufAllocator;
            0   49     2        pageSize  I
            0   49     3        maxOrder  I
            0   49     4      pageShifts  I
            0   49     5       chunkSize  I
            0   49     6  cacheAlignment  I
           17   21     7               i  I
           24   28     7               i  I
           41   49     7         metrics  Ljava/util/List<Lio/netty/buffer/PoolChunkListMetric;>;
    MethodParameters:
                Name  Flags
      parent          
      pageSize        
      maxOrder        
      pageShifts      
      chunkSize       
      cacheAlignment  

  private io.netty.buffer.PoolSubpage<T> newSubpagePoolHead(int);
    descriptor: (I)Lio/netty/buffer/PoolSubpage;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // int pageSize
         0: .line 131
            new io.netty.buffer.PoolSubpage
            dup
            iload 1 /* pageSize */
            invokespecial io.netty.buffer.PoolSubpage.<init>:(I)V
            astore 2 /* head */
        start local 2 // io.netty.buffer.PoolSubpage head
         1: .line 132
            aload 2 /* head */
            aload 2 /* head */
            putfield io.netty.buffer.PoolSubpage.prev:Lio/netty/buffer/PoolSubpage;
         2: .line 133
            aload 2 /* head */
            aload 2 /* head */
            putfield io.netty.buffer.PoolSubpage.next:Lio/netty/buffer/PoolSubpage;
         3: .line 134
            aload 2 /* head */
            areturn
        end local 2 // io.netty.buffer.PoolSubpage head
        end local 1 // int pageSize
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/netty/buffer/PoolArena<TT;>;
            0    4     1  pageSize  I
            1    4     2      head  Lio/netty/buffer/PoolSubpage<TT;>;
    Signature: (I)Lio/netty/buffer/PoolSubpage<TT;>;
    MethodParameters:
          Name  Flags
      pageSize  

  private io.netty.buffer.PoolSubpage<T>[] newSubpagePoolArray(int);
    descriptor: (I)[Lio/netty/buffer/PoolSubpage;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // int size
         0: .line 139
            iload 1 /* size */
            anewarray io.netty.buffer.PoolSubpage
            areturn
        end local 1 // int size
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;
            0    1     1  size  I
    Signature: (I)[Lio/netty/buffer/PoolSubpage<TT;>;
    MethodParameters:
      Name  Flags
      size  

  abstract boolean isDirect();
    descriptor: ()Z
    flags: (0x0400) ACC_ABSTRACT

  io.netty.buffer.PooledByteBuf<T> allocate(io.netty.buffer.PoolThreadCache, int, int);
    descriptor: (Lio/netty/buffer/PoolThreadCache;II)Lio/netty/buffer/PooledByteBuf;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // io.netty.buffer.PoolThreadCache cache
        start local 2 // int reqCapacity
        start local 3 // int maxCapacity
         0: .line 145
            aload 0 /* this */
            iload 3 /* maxCapacity */
            invokevirtual io.netty.buffer.PoolArena.newByteBuf:(I)Lio/netty/buffer/PooledByteBuf;
            astore 4 /* buf */
        start local 4 // io.netty.buffer.PooledByteBuf buf
         1: .line 146
            aload 0 /* this */
            aload 1 /* cache */
            aload 4 /* buf */
            iload 2 /* reqCapacity */
            invokevirtual io.netty.buffer.PoolArena.allocate:(Lio/netty/buffer/PoolThreadCache;Lio/netty/buffer/PooledByteBuf;I)V
         2: .line 147
            aload 4 /* buf */
            areturn
        end local 4 // io.netty.buffer.PooledByteBuf buf
        end local 3 // int maxCapacity
        end local 2 // int reqCapacity
        end local 1 // io.netty.buffer.PoolThreadCache cache
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lio/netty/buffer/PoolArena<TT;>;
            0    3     1        cache  Lio/netty/buffer/PoolThreadCache;
            0    3     2  reqCapacity  I
            0    3     3  maxCapacity  I
            1    3     4          buf  Lio/netty/buffer/PooledByteBuf<TT;>;
    Signature: (Lio/netty/buffer/PoolThreadCache;II)Lio/netty/buffer/PooledByteBuf<TT;>;
    MethodParameters:
             Name  Flags
      cache        
      reqCapacity  
      maxCapacity  

  static int tinyIdx(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int normCapacity
         0: .line 151
            iload 0 /* normCapacity */
            iconst_4
            iushr
            ireturn
        end local 0 // int normCapacity
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  normCapacity  I
    MethodParameters:
              Name  Flags
      normCapacity  

  static int smallIdx(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // int normCapacity
         0: .line 155
            iconst_0
            istore 1 /* tableIdx */
        start local 1 // int tableIdx
         1: .line 156
            iload 0 /* normCapacity */
            bipush 10
            iushr
            istore 2 /* i */
        start local 2 // int i
         2: .line 157
            goto 5
         3: .line 158
      StackMap locals: int int
      StackMap stack:
            iload 2 /* i */
            iconst_1
            iushr
            istore 2 /* i */
         4: .line 159
            iinc 1 /* tableIdx */ 1
         5: .line 157
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            ifne 3
         6: .line 161
            iload 1 /* tableIdx */
            ireturn
        end local 2 // int i
        end local 1 // int tableIdx
        end local 0 // int normCapacity
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0  normCapacity  I
            1    7     1      tableIdx  I
            2    7     2             i  I
    MethodParameters:
              Name  Flags
      normCapacity  

  boolean isTinyOrSmall(int);
    descriptor: (I)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // int normCapacity
         0: .line 166
            iload 1 /* normCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.subpageOverflowMask:I
            iand
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int normCapacity
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/netty/buffer/PoolArena<TT;>;
            0    2     1  normCapacity  I
    MethodParameters:
              Name  Flags
      normCapacity  

  static boolean isTiny(int);
    descriptor: (I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int normCapacity
         0: .line 171
            iload 0 /* normCapacity */
            sipush -512
            iand
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // int normCapacity
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0  normCapacity  I
    MethodParameters:
              Name  Flags
      normCapacity  

  private void allocate(io.netty.buffer.PoolThreadCache, io.netty.buffer.PooledByteBuf<T>, );
    descriptor: (Lio/netty/buffer/PoolThreadCache;Lio/netty/buffer/PooledByteBuf;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // io.netty.buffer.PoolThreadCache cache
        start local 2 // io.netty.buffer.PooledByteBuf buf
        start local 3 // int reqCapacity
         0: .line 175
            aload 0 /* this */
            iload 3 /* reqCapacity */
            invokevirtual io.netty.buffer.PoolArena.normalizeCapacity:(I)I
            istore 4 /* normCapacity */
        start local 4 // int normCapacity
         1: .line 176
            aload 0 /* this */
            iload 4 /* normCapacity */
            invokevirtual io.netty.buffer.PoolArena.isTinyOrSmall:(I)Z
            ifeq 37
         2: .line 179
            iload 4 /* normCapacity */
            invokestatic io.netty.buffer.PoolArena.isTiny:(I)Z
            istore 7 /* tiny */
        start local 7 // boolean tiny
         3: .line 180
            iload 7 /* tiny */
            ifeq 9
         4: .line 181
            aload 1 /* cache */
            aload 0 /* this */
            aload 2 /* buf */
            iload 3 /* reqCapacity */
            iload 4 /* normCapacity */
            invokevirtual io.netty.buffer.PoolThreadCache.allocateTiny:(Lio/netty/buffer/PoolArena;Lio/netty/buffer/PooledByteBuf;II)Z
            ifeq 6
         5: .line 183
            return
         6: .line 185
      StackMap locals: io.netty.buffer.PoolArena io.netty.buffer.PoolThreadCache io.netty.buffer.PooledByteBuf int int top top int
      StackMap stack:
            iload 4 /* normCapacity */
            invokestatic io.netty.buffer.PoolArena.tinyIdx:(I)I
            istore 5 /* tableIdx */
        start local 5 // int tableIdx
         7: .line 186
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.tinySubpagePools:[Lio/netty/buffer/PoolSubpage;
            astore 6 /* table */
        start local 6 // io.netty.buffer.PoolSubpage[] table
         8: .line 187
            goto 13
        end local 6 // io.netty.buffer.PoolSubpage[] table
        end local 5 // int tableIdx
         9: .line 188
      StackMap locals:
      StackMap stack:
            aload 1 /* cache */
            aload 0 /* this */
            aload 2 /* buf */
            iload 3 /* reqCapacity */
            iload 4 /* normCapacity */
            invokevirtual io.netty.buffer.PoolThreadCache.allocateSmall:(Lio/netty/buffer/PoolArena;Lio/netty/buffer/PooledByteBuf;II)Z
            ifeq 11
        10: .line 190
            return
        11: .line 192
      StackMap locals:
      StackMap stack:
            iload 4 /* normCapacity */
            invokestatic io.netty.buffer.PoolArena.smallIdx:(I)I
            istore 5 /* tableIdx */
        start local 5 // int tableIdx
        12: .line 193
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.smallSubpagePools:[Lio/netty/buffer/PoolSubpage;
            astore 6 /* table */
        start local 6 // io.netty.buffer.PoolSubpage[] table
        13: .line 196
      StackMap locals: io.netty.buffer.PoolArena io.netty.buffer.PoolThreadCache io.netty.buffer.PooledByteBuf int int int io.netty.buffer.PoolSubpage[] int
      StackMap stack:
            aload 6 /* table */
            iload 5 /* tableIdx */
            aaload
            astore 8 /* head */
        start local 8 // io.netty.buffer.PoolSubpage head
        14: .line 202
            aload 8 /* head */
            dup
            astore 9
            monitorenter
        15: .line 203
            aload 8 /* head */
            getfield io.netty.buffer.PoolSubpage.next:Lio/netty/buffer/PoolSubpage;
            astore 10 /* s */
        start local 10 // io.netty.buffer.PoolSubpage s
        16: .line 204
            aload 10 /* s */
            aload 8 /* head */
            if_acmpeq 25
        17: .line 205
            getstatic io.netty.buffer.PoolArena.$assertionsDisabled:Z
            ifne 19
            aload 10 /* s */
            getfield io.netty.buffer.PoolSubpage.doNotDestroy:Z
            ifeq 18
            aload 10 /* s */
            getfield io.netty.buffer.PoolSubpage.elemSize:I
            iload 4 /* normCapacity */
            if_icmpeq 19
      StackMap locals: io.netty.buffer.PoolSubpage io.netty.buffer.PoolSubpage io.netty.buffer.PoolSubpage
      StackMap stack:
        18: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 206
      StackMap locals:
      StackMap stack:
            aload 10 /* s */
            invokevirtual io.netty.buffer.PoolSubpage.allocate:()J
            lstore 11 /* handle */
        start local 11 // long handle
        20: .line 207
            getstatic io.netty.buffer.PoolArena.$assertionsDisabled:Z
            ifne 21
            lload 11 /* handle */
            lconst_0
            lcmp
            ifge 21
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        21: .line 208
      StackMap locals: long
      StackMap stack:
            aload 10 /* s */
            getfield io.netty.buffer.PoolSubpage.chunk:Lio/netty/buffer/PoolChunk;
            aload 2 /* buf */
            lload 11 /* handle */
            iload 3 /* reqCapacity */
            invokevirtual io.netty.buffer.PoolChunk.initBufWithSubpage:(Lio/netty/buffer/PooledByteBuf;JI)V
        22: .line 209
            aload 0 /* this */
            iload 7 /* tiny */
            invokevirtual io.netty.buffer.PoolArena.incTinySmallAllocation:(Z)V
        23: .line 210
            aload 9
            monitorexit
        24: return
        end local 11 // long handle
        end local 10 // io.netty.buffer.PoolSubpage s
        25: .line 202
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        26: goto 29
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: aload 9
            monitorexit
        28: athrow
        29: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 9
            monitorenter
        30: .line 214
            aload 0 /* this */
            aload 2 /* buf */
            iload 3 /* reqCapacity */
            iload 4 /* normCapacity */
            invokevirtual io.netty.buffer.PoolArena.allocateNormal:(Lio/netty/buffer/PooledByteBuf;II)V
        31: .line 213
            aload 9
            monitorexit
        32: goto 35
      StackMap locals: io.netty.buffer.PoolArena io.netty.buffer.PoolThreadCache io.netty.buffer.PooledByteBuf int int int io.netty.buffer.PoolSubpage[] int io.netty.buffer.PoolSubpage io.netty.buffer.PoolArena
      StackMap stack: java.lang.Throwable
        33: aload 9
            monitorexit
        34: athrow
        35: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 7 /* tiny */
            invokevirtual io.netty.buffer.PoolArena.incTinySmallAllocation:(Z)V
        36: .line 218
            return
        end local 8 // io.netty.buffer.PoolSubpage head
        end local 7 // boolean tiny
        end local 6 // io.netty.buffer.PoolSubpage[] table
        end local 5 // int tableIdx
        37: .line 220
      StackMap locals: io.netty.buffer.PoolArena io.netty.buffer.PoolThreadCache io.netty.buffer.PooledByteBuf int int
      StackMap stack:
            iload 4 /* normCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.chunkSize:I
            if_icmpgt 47
        38: .line 221
            aload 1 /* cache */
            aload 0 /* this */
            aload 2 /* buf */
            iload 3 /* reqCapacity */
            iload 4 /* normCapacity */
            invokevirtual io.netty.buffer.PoolThreadCache.allocateNormal:(Lio/netty/buffer/PoolArena;Lio/netty/buffer/PooledByteBuf;II)Z
            ifeq 40
        39: .line 223
            return
        40: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 5
            monitorenter
        41: .line 226
            aload 0 /* this */
            aload 2 /* buf */
            iload 3 /* reqCapacity */
            iload 4 /* normCapacity */
            invokevirtual io.netty.buffer.PoolArena.allocateNormal:(Lio/netty/buffer/PooledByteBuf;II)V
        42: .line 227
            aload 0 /* this */
            dup
            getfield io.netty.buffer.PoolArena.allocationsNormal:J
            lconst_1
            ladd
            putfield io.netty.buffer.PoolArena.allocationsNormal:J
        43: .line 225
            aload 5
            monitorexit
        44: goto 48
      StackMap locals: io.netty.buffer.PoolArena io.netty.buffer.PoolThreadCache io.netty.buffer.PooledByteBuf int int io.netty.buffer.PoolArena
      StackMap stack: java.lang.Throwable
        45: aload 5
            monitorexit
        46: athrow
        47: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buf */
            iload 3 /* reqCapacity */
            invokevirtual io.netty.buffer.PoolArena.allocateHuge:(Lio/netty/buffer/PooledByteBuf;I)V
        48: .line 233
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int normCapacity
        end local 3 // int reqCapacity
        end local 2 // io.netty.buffer.PooledByteBuf buf
        end local 1 // io.netty.buffer.PoolThreadCache cache
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   49     0          this  Lio/netty/buffer/PoolArena<TT;>;
            0   49     1         cache  Lio/netty/buffer/PoolThreadCache;
            0   49     2           buf  Lio/netty/buffer/PooledByteBuf<TT;>;
            0   49     3   reqCapacity  I
            1   49     4  normCapacity  I
            7    9     5      tableIdx  I
           12   37     5      tableIdx  I
            8    9     6         table  [Lio/netty/buffer/PoolSubpage;
           13   37     6         table  [Lio/netty/buffer/PoolSubpage;
            3   37     7          tiny  Z
           14   37     8          head  Lio/netty/buffer/PoolSubpage<TT;>;
           16   25    10             s  Lio/netty/buffer/PoolSubpage<TT;>;
           20   25    11        handle  J
      Exception table:
        from    to  target  type
          15    24      27  any
          25    26      27  any
          27    28      27  any
          30    32      33  any
          33    34      33  any
          41    44      45  any
          45    46      45  any
    Signature: (Lio/netty/buffer/PoolThreadCache;Lio/netty/buffer/PooledByteBuf<TT;>;I)V
    MethodParameters:
             Name  Flags
      cache        
      buf          
      reqCapacity  final

  private void allocateNormal(io.netty.buffer.PooledByteBuf<T>, int, );
    descriptor: (Lio/netty/buffer/PooledByteBuf;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // io.netty.buffer.PooledByteBuf buf
        start local 2 // int reqCapacity
        start local 3 // int normCapacity
         0: .line 237
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q050:Lio/netty/buffer/PoolChunkList;
            aload 1 /* buf */
            iload 2 /* reqCapacity */
            iload 3 /* normCapacity */
            invokevirtual io.netty.buffer.PoolChunkList.allocate:(Lio/netty/buffer/PooledByteBuf;II)Z
            ifne 3
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q025:Lio/netty/buffer/PoolChunkList;
            aload 1 /* buf */
            iload 2 /* reqCapacity */
            iload 3 /* normCapacity */
            invokevirtual io.netty.buffer.PoolChunkList.allocate:(Lio/netty/buffer/PooledByteBuf;II)Z
            ifne 3
         1: .line 238
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q000:Lio/netty/buffer/PoolChunkList;
            aload 1 /* buf */
            iload 2 /* reqCapacity */
            iload 3 /* normCapacity */
            invokevirtual io.netty.buffer.PoolChunkList.allocate:(Lio/netty/buffer/PooledByteBuf;II)Z
            ifne 3
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.qInit:Lio/netty/buffer/PoolChunkList;
            aload 1 /* buf */
            iload 2 /* reqCapacity */
            iload 3 /* normCapacity */
            invokevirtual io.netty.buffer.PoolChunkList.allocate:(Lio/netty/buffer/PooledByteBuf;II)Z
            ifne 3
         2: .line 239
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q075:Lio/netty/buffer/PoolChunkList;
            aload 1 /* buf */
            iload 2 /* reqCapacity */
            iload 3 /* normCapacity */
            invokevirtual io.netty.buffer.PoolChunkList.allocate:(Lio/netty/buffer/PooledByteBuf;II)Z
            ifeq 4
         3: .line 240
      StackMap locals:
      StackMap stack:
            return
         4: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.pageSize:I
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.maxOrder:I
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.pageShifts:I
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.chunkSize:I
            invokevirtual io.netty.buffer.PoolArena.newChunk:(IIII)Lio/netty/buffer/PoolChunk;
            astore 4 /* c */
        start local 4 // io.netty.buffer.PoolChunk c
         5: .line 245
            aload 4 /* c */
            iload 3 /* normCapacity */
            invokevirtual io.netty.buffer.PoolChunk.allocate:(I)J
            lstore 5 /* handle */
        start local 5 // long handle
         6: .line 246
            getstatic io.netty.buffer.PoolArena.$assertionsDisabled:Z
            ifne 7
            lload 5 /* handle */
            lconst_0
            lcmp
            ifgt 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 247
      StackMap locals: io.netty.buffer.PoolChunk long
      StackMap stack:
            aload 4 /* c */
            aload 1 /* buf */
            lload 5 /* handle */
            iload 2 /* reqCapacity */
            invokevirtual io.netty.buffer.PoolChunk.initBuf:(Lio/netty/buffer/PooledByteBuf;JI)V
         8: .line 248
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.qInit:Lio/netty/buffer/PoolChunkList;
            aload 4 /* c */
            invokevirtual io.netty.buffer.PoolChunkList.add:(Lio/netty/buffer/PoolChunk;)V
         9: .line 249
            return
        end local 5 // long handle
        end local 4 // io.netty.buffer.PoolChunk c
        end local 3 // int normCapacity
        end local 2 // int reqCapacity
        end local 1 // io.netty.buffer.PooledByteBuf buf
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lio/netty/buffer/PoolArena<TT;>;
            0   10     1           buf  Lio/netty/buffer/PooledByteBuf<TT;>;
            0   10     2   reqCapacity  I
            0   10     3  normCapacity  I
            5   10     4             c  Lio/netty/buffer/PoolChunk<TT;>;
            6   10     5        handle  J
    Signature: (Lio/netty/buffer/PooledByteBuf<TT;>;II)V
    MethodParameters:
              Name  Flags
      buf           
      reqCapacity   
      normCapacity  

  private void incTinySmallAllocation(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // boolean tiny
         0: .line 252
            iload 1 /* tiny */
            ifeq 3
         1: .line 253
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsTiny:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.increment:()V
         2: .line 254
            goto 4
         3: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsSmall:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.increment:()V
         4: .line 257
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean tiny
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/netty/buffer/PoolArena<TT;>;
            0    5     1  tiny  Z
    MethodParameters:
      Name  Flags
      tiny  

  private void allocateHuge(io.netty.buffer.PooledByteBuf<T>, );
    descriptor: (Lio/netty/buffer/PooledByteBuf;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // io.netty.buffer.PooledByteBuf buf
        start local 2 // int reqCapacity
         0: .line 260
            aload 0 /* this */
            iload 2 /* reqCapacity */
            invokevirtual io.netty.buffer.PoolArena.newUnpooledChunk:(I)Lio/netty/buffer/PoolChunk;
            astore 3 /* chunk */
        start local 3 // io.netty.buffer.PoolChunk chunk
         1: .line 261
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.activeBytesHuge:Lio/netty/util/internal/LongCounter;
            aload 3 /* chunk */
            invokevirtual io.netty.buffer.PoolChunk.chunkSize:()I
            i2l
            invokeinterface io.netty.util.internal.LongCounter.add:(J)V
         2: .line 262
            aload 1 /* buf */
            aload 3 /* chunk */
            iload 2 /* reqCapacity */
            invokevirtual io.netty.buffer.PooledByteBuf.initUnpooled:(Lio/netty/buffer/PoolChunk;I)V
         3: .line 263
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsHuge:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.increment:()V
         4: .line 264
            return
        end local 3 // io.netty.buffer.PoolChunk chunk
        end local 2 // int reqCapacity
        end local 1 // io.netty.buffer.PooledByteBuf buf
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/netty/buffer/PoolArena<TT;>;
            0    5     1          buf  Lio/netty/buffer/PooledByteBuf<TT;>;
            0    5     2  reqCapacity  I
            1    5     3        chunk  Lio/netty/buffer/PoolChunk<TT;>;
    Signature: (Lio/netty/buffer/PooledByteBuf<TT;>;I)V
    MethodParameters:
             Name  Flags
      buf          
      reqCapacity  

  void free(io.netty.buffer.PoolChunk<T>, long, int, io.netty.buffer.PoolThreadCache);
    descriptor: (Lio/netty/buffer/PoolChunk;JILio/netty/buffer/PoolThreadCache;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=7, args_size=5
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // io.netty.buffer.PoolChunk chunk
        start local 2 // long handle
        start local 4 // int normCapacity
        start local 5 // io.netty.buffer.PoolThreadCache cache
         0: .line 267
            aload 1 /* chunk */
            getfield io.netty.buffer.PoolChunk.unpooled:Z
            ifeq 6
         1: .line 268
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolChunk.chunkSize:()I
            istore 6 /* size */
        start local 6 // int size
         2: .line 269
            aload 0 /* this */
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolArena.destroyChunk:(Lio/netty/buffer/PoolChunk;)V
         3: .line 270
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.activeBytesHuge:Lio/netty/util/internal/LongCounter;
            iload 6 /* size */
            ineg
            i2l
            invokeinterface io.netty.util.internal.LongCounter.add:(J)V
         4: .line 271
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsHuge:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.increment:()V
        end local 6 // int size
         5: .line 272
            goto 10
         6: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* normCapacity */
            invokevirtual io.netty.buffer.PoolArena.sizeClass:(I)Lio/netty/buffer/PoolArena$SizeClass;
            astore 6 /* sizeClass */
        start local 6 // io.netty.buffer.PoolArena$SizeClass sizeClass
         7: .line 274
            aload 5 /* cache */
            ifnull 9
            aload 5 /* cache */
            aload 0 /* this */
            aload 1 /* chunk */
            lload 2 /* handle */
            iload 4 /* normCapacity */
            aload 6 /* sizeClass */
            invokevirtual io.netty.buffer.PoolThreadCache.add:(Lio/netty/buffer/PoolArena;Lio/netty/buffer/PoolChunk;JILio/netty/buffer/PoolArena$SizeClass;)Z
            ifeq 9
         8: .line 276
            return
         9: .line 279
      StackMap locals: io.netty.buffer.PoolArena$SizeClass
      StackMap stack:
            aload 0 /* this */
            aload 1 /* chunk */
            lload 2 /* handle */
            aload 6 /* sizeClass */
            invokevirtual io.netty.buffer.PoolArena.freeChunk:(Lio/netty/buffer/PoolChunk;JLio/netty/buffer/PoolArena$SizeClass;)V
        end local 6 // io.netty.buffer.PoolArena$SizeClass sizeClass
        10: .line 281
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.netty.buffer.PoolThreadCache cache
        end local 4 // int normCapacity
        end local 2 // long handle
        end local 1 // io.netty.buffer.PoolChunk chunk
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lio/netty/buffer/PoolArena<TT;>;
            0   11     1         chunk  Lio/netty/buffer/PoolChunk<TT;>;
            0   11     2        handle  J
            0   11     4  normCapacity  I
            0   11     5         cache  Lio/netty/buffer/PoolThreadCache;
            2    5     6          size  I
            7   10     6     sizeClass  Lio/netty/buffer/PoolArena$SizeClass;
    Signature: (Lio/netty/buffer/PoolChunk<TT;>;JILio/netty/buffer/PoolThreadCache;)V
    MethodParameters:
              Name  Flags
      chunk         
      handle        
      normCapacity  
      cache         

  private io.netty.buffer.PoolArena$SizeClass sizeClass(int);
    descriptor: (I)Lio/netty/buffer/PoolArena$SizeClass;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // int normCapacity
         0: .line 284
            aload 0 /* this */
            iload 1 /* normCapacity */
            invokevirtual io.netty.buffer.PoolArena.isTinyOrSmall:(I)Z
            ifne 2
         1: .line 285
            getstatic io.netty.buffer.PoolArena$SizeClass.Normal:Lio/netty/buffer/PoolArena$SizeClass;
            areturn
         2: .line 287
      StackMap locals:
      StackMap stack:
            iload 1 /* normCapacity */
            invokestatic io.netty.buffer.PoolArena.isTiny:(I)Z
            ifeq 3
            getstatic io.netty.buffer.PoolArena$SizeClass.Tiny:Lio/netty/buffer/PoolArena$SizeClass;
            goto 4
      StackMap locals:
      StackMap stack:
         3: getstatic io.netty.buffer.PoolArena$SizeClass.Small:Lio/netty/buffer/PoolArena$SizeClass;
      StackMap locals:
      StackMap stack: io.netty.buffer.PoolArena$SizeClass
         4: areturn
        end local 1 // int normCapacity
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lio/netty/buffer/PoolArena<TT;>;
            0    5     1  normCapacity  I
    Signature: (I)Lio/netty/buffer/PoolArena$SizeClass;
    MethodParameters:
              Name  Flags
      normCapacity  

  void freeChunk(io.netty.buffer.PoolChunk<T>, long, io.netty.buffer.PoolArena$SizeClass);
    descriptor: (Lio/netty/buffer/PoolChunk;JLio/netty/buffer/PoolArena$SizeClass;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // io.netty.buffer.PoolChunk chunk
        start local 2 // long handle
        start local 4 // io.netty.buffer.PoolArena$SizeClass sizeClass
         0: .line 292
            aload 0 /* this */
            dup
            astore 6
            monitorenter
         1: .line 293
            invokestatic io.netty.buffer.PoolArena.$SWITCH_TABLE$io$netty$buffer$PoolArena$SizeClass:()[I
            aload 4 /* sizeClass */
            invokevirtual io.netty.buffer.PoolArena$SizeClass.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 6
                    2: 4
                    3: 2
              default: 8
          }
         2: .line 295
      StackMap locals: io.netty.buffer.PoolArena io.netty.buffer.PoolChunk long io.netty.buffer.PoolArena$SizeClass top io.netty.buffer.PoolArena
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.netty.buffer.PoolArena.deallocationsNormal:J
            lconst_1
            ladd
            putfield io.netty.buffer.PoolArena.deallocationsNormal:J
         3: .line 296
            goto 9
         4: .line 298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.netty.buffer.PoolArena.deallocationsSmall:J
            lconst_1
            ladd
            putfield io.netty.buffer.PoolArena.deallocationsSmall:J
         5: .line 299
            goto 9
         6: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield io.netty.buffer.PoolArena.deallocationsTiny:J
            lconst_1
            ladd
            putfield io.netty.buffer.PoolArena.deallocationsTiny:J
         7: .line 302
            goto 9
         8: .line 304
      StackMap locals:
      StackMap stack:
            new java.lang.Error
            dup
            invokespecial java.lang.Error.<init>:()V
            athrow
         9: .line 306
      StackMap locals:
      StackMap stack:
            aload 1 /* chunk */
            getfield io.netty.buffer.PoolChunk.parent:Lio/netty/buffer/PoolChunkList;
            aload 1 /* chunk */
            lload 2 /* handle */
            invokevirtual io.netty.buffer.PoolChunkList.free:(Lio/netty/buffer/PoolChunk;J)Z
            ifeq 10
            iconst_0
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_1
      StackMap locals:
      StackMap stack: int
        11: istore 5 /* destroyChunk */
        start local 5 // boolean destroyChunk
        12: .line 292
            aload 6
            monitorexit
        13: goto 16
        end local 5 // boolean destroyChunk
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 6
            monitorexit
        15: athrow
        start local 5 // boolean destroyChunk
        16: .line 308
      StackMap locals: io.netty.buffer.PoolArena io.netty.buffer.PoolChunk long io.netty.buffer.PoolArena$SizeClass int
      StackMap stack:
            iload 5 /* destroyChunk */
            ifeq 18
        17: .line 310
            aload 0 /* this */
            aload 1 /* chunk */
            invokevirtual io.netty.buffer.PoolArena.destroyChunk:(Lio/netty/buffer/PoolChunk;)V
        18: .line 312
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean destroyChunk
        end local 4 // io.netty.buffer.PoolArena$SizeClass sizeClass
        end local 2 // long handle
        end local 1 // io.netty.buffer.PoolChunk chunk
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lio/netty/buffer/PoolArena<TT;>;
            0   19     1         chunk  Lio/netty/buffer/PoolChunk<TT;>;
            0   19     2        handle  J
            0   19     4     sizeClass  Lio/netty/buffer/PoolArena$SizeClass;
           12   14     5  destroyChunk  Z
           16   19     5  destroyChunk  Z
      Exception table:
        from    to  target  type
           1    13      14  any
          14    15      14  any
    Signature: (Lio/netty/buffer/PoolChunk<TT;>;JLio/netty/buffer/PoolArena$SizeClass;)V
    MethodParameters:
           Name  Flags
      chunk      
      handle     
      sizeClass  

  io.netty.buffer.PoolSubpage<T> findSubpagePoolHead(int);
    descriptor: (I)Lio/netty/buffer/PoolSubpage;
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // int elemSize
         0: .line 317
            iload 1 /* elemSize */
            invokestatic io.netty.buffer.PoolArena.isTiny:(I)Z
            ifeq 4
         1: .line 318
            iload 1 /* elemSize */
            iconst_4
            iushr
            istore 2 /* tableIdx */
        start local 2 // int tableIdx
         2: .line 319
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.tinySubpagePools:[Lio/netty/buffer/PoolSubpage;
            astore 3 /* table */
        start local 3 // io.netty.buffer.PoolSubpage[] table
         3: .line 320
            goto 11
        end local 3 // io.netty.buffer.PoolSubpage[] table
        end local 2 // int tableIdx
         4: .line 321
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* tableIdx */
        start local 2 // int tableIdx
         5: .line 322
            iload 1 /* elemSize */
            bipush 10
            iushr
            istore 1 /* elemSize */
         6: .line 323
            goto 9
         7: .line 324
      StackMap locals: int
      StackMap stack:
            iload 1 /* elemSize */
            iconst_1
            iushr
            istore 1 /* elemSize */
         8: .line 325
            iinc 2 /* tableIdx */ 1
         9: .line 323
      StackMap locals:
      StackMap stack:
            iload 1 /* elemSize */
            ifne 7
        10: .line 327
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.smallSubpagePools:[Lio/netty/buffer/PoolSubpage;
            astore 3 /* table */
        start local 3 // io.netty.buffer.PoolSubpage[] table
        11: .line 330
      StackMap locals: io.netty.buffer.PoolSubpage[]
      StackMap stack:
            aload 3 /* table */
            iload 2 /* tableIdx */
            aaload
            areturn
        end local 3 // io.netty.buffer.PoolSubpage[] table
        end local 2 // int tableIdx
        end local 1 // int elemSize
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lio/netty/buffer/PoolArena<TT;>;
            0   12     1  elemSize  I
            2    4     2  tableIdx  I
            5   12     2  tableIdx  I
            3    4     3     table  [Lio/netty/buffer/PoolSubpage;
           11   12     3     table  [Lio/netty/buffer/PoolSubpage;
    Signature: (I)Lio/netty/buffer/PoolSubpage<TT;>;
    MethodParameters:
          Name  Flags
      elemSize  

  int normalizeCapacity(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // int reqCapacity
         0: .line 334
            iload 1 /* reqCapacity */
            ifge 2
         1: .line 335
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "capacity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* reqCapacity */
            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;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 338
      StackMap locals:
      StackMap stack:
            iload 1 /* reqCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.chunkSize:I
            if_icmplt 6
         3: .line 339
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.directMemoryCacheAlignment:I
            ifne 4
            iload 1 /* reqCapacity */
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 0 /* this */
            iload 1 /* reqCapacity */
            invokevirtual io.netty.buffer.PoolArena.alignCapacity:(I)I
      StackMap locals:
      StackMap stack: int
         5: ireturn
         6: .line 342
      StackMap locals:
      StackMap stack:
            iload 1 /* reqCapacity */
            invokestatic io.netty.buffer.PoolArena.isTiny:(I)Z
            ifne 19
         7: .line 345
            iload 1 /* reqCapacity */
            istore 2 /* normalizedCapacity */
        start local 2 // int normalizedCapacity
         8: .line 346
            iinc 2 /* normalizedCapacity */ -1
         9: .line 347
            iload 2 /* normalizedCapacity */
            iload 2 /* normalizedCapacity */
            iconst_1
            iushr
            ior
            istore 2 /* normalizedCapacity */
        10: .line 348
            iload 2 /* normalizedCapacity */
            iload 2 /* normalizedCapacity */
            iconst_2
            iushr
            ior
            istore 2 /* normalizedCapacity */
        11: .line 349
            iload 2 /* normalizedCapacity */
            iload 2 /* normalizedCapacity */
            iconst_4
            iushr
            ior
            istore 2 /* normalizedCapacity */
        12: .line 350
            iload 2 /* normalizedCapacity */
            iload 2 /* normalizedCapacity */
            bipush 8
            iushr
            ior
            istore 2 /* normalizedCapacity */
        13: .line 351
            iload 2 /* normalizedCapacity */
            iload 2 /* normalizedCapacity */
            bipush 16
            iushr
            ior
            istore 2 /* normalizedCapacity */
        14: .line 352
            iinc 2 /* normalizedCapacity */ 1
        15: .line 354
            iload 2 /* normalizedCapacity */
            ifge 17
        16: .line 355
            iload 2 /* normalizedCapacity */
            iconst_1
            iushr
            istore 2 /* normalizedCapacity */
        17: .line 357
      StackMap locals: int
      StackMap stack:
            getstatic io.netty.buffer.PoolArena.$assertionsDisabled:Z
            ifne 18
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.directMemoryCacheAlignment:I
            ifeq 18
            iload 2 /* normalizedCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.directMemoryCacheAlignmentMask:I
            iand
            ifeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 359
      StackMap locals:
      StackMap stack:
            iload 2 /* normalizedCapacity */
            ireturn
        end local 2 // int normalizedCapacity
        19: .line 362
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.directMemoryCacheAlignment:I
            ifle 21
        20: .line 363
            aload 0 /* this */
            iload 1 /* reqCapacity */
            invokevirtual io.netty.buffer.PoolArena.alignCapacity:(I)I
            ireturn
        21: .line 367
      StackMap locals:
      StackMap stack:
            iload 1 /* reqCapacity */
            bipush 15
            iand
            ifne 23
        22: .line 368
            iload 1 /* reqCapacity */
            ireturn
        23: .line 371
      StackMap locals:
      StackMap stack:
            iload 1 /* reqCapacity */
            bipush -16
            iand
            bipush 16
            iadd
            ireturn
        end local 1 // int reqCapacity
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   24     0                this  Lio/netty/buffer/PoolArena<TT;>;
            0   24     1         reqCapacity  I
            8   19     2  normalizedCapacity  I
    MethodParameters:
             Name  Flags
      reqCapacity  

  int alignCapacity(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // int reqCapacity
         0: .line 375
            iload 1 /* reqCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.directMemoryCacheAlignmentMask:I
            iand
            istore 2 /* delta */
        start local 2 // int delta
         1: .line 376
            iload 2 /* delta */
            ifne 2
            iload 1 /* reqCapacity */
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iload 1 /* reqCapacity */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.directMemoryCacheAlignment:I
            iadd
            iload 2 /* delta */
            isub
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 2 // int delta
        end local 1 // int reqCapacity
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lio/netty/buffer/PoolArena<TT;>;
            0    4     1  reqCapacity  I
            1    4     2        delta  I
    MethodParameters:
             Name  Flags
      reqCapacity  

  void reallocate(io.netty.buffer.PooledByteBuf<T>, int, );
    descriptor: (Lio/netty/buffer/PooledByteBuf;IZ)V
    flags: (0x0000) 
    Code:
      stack=7, locals=13, args_size=4
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // io.netty.buffer.PooledByteBuf buf
        start local 2 // int newCapacity
        start local 3 // boolean freeOldMemory
         0: .line 380
            iload 2 /* newCapacity */
            iflt 1
            iload 2 /* newCapacity */
            aload 1 /* buf */
            invokevirtual io.netty.buffer.PooledByteBuf.maxCapacity:()I
            if_icmple 2
         1: .line 381
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "newCapacity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* newCapacity */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 384
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            getfield io.netty.buffer.PooledByteBuf.length:I
            istore 4 /* oldCapacity */
        start local 4 // int oldCapacity
         3: .line 385
            iload 4 /* oldCapacity */
            iload 2 /* newCapacity */
            if_icmpne 5
         4: .line 386
            return
         5: .line 389
      StackMap locals: int
      StackMap stack:
            aload 1 /* buf */
            getfield io.netty.buffer.PooledByteBuf.chunk:Lio/netty/buffer/PoolChunk;
            astore 5 /* oldChunk */
        start local 5 // io.netty.buffer.PoolChunk oldChunk
         6: .line 390
            aload 1 /* buf */
            getfield io.netty.buffer.PooledByteBuf.handle:J
            lstore 6 /* oldHandle */
        start local 6 // long oldHandle
         7: .line 391
            aload 1 /* buf */
            getfield io.netty.buffer.PooledByteBuf.memory:Ljava/lang/Object;
            astore 8 /* oldMemory */
        start local 8 // java.lang.Object oldMemory
         8: .line 392
            aload 1 /* buf */
            getfield io.netty.buffer.PooledByteBuf.offset:I
            istore 9 /* oldOffset */
        start local 9 // int oldOffset
         9: .line 393
            aload 1 /* buf */
            getfield io.netty.buffer.PooledByteBuf.maxLength:I
            istore 10 /* oldMaxLength */
        start local 10 // int oldMaxLength
        10: .line 394
            aload 1 /* buf */
            invokevirtual io.netty.buffer.PooledByteBuf.readerIndex:()I
            istore 11 /* readerIndex */
        start local 11 // int readerIndex
        11: .line 395
            aload 1 /* buf */
            invokevirtual io.netty.buffer.PooledByteBuf.writerIndex:()I
            istore 12 /* writerIndex */
        start local 12 // int writerIndex
        12: .line 397
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.parent:Lio/netty/buffer/PooledByteBufAllocator;
            invokevirtual io.netty.buffer.PooledByteBufAllocator.threadCache:()Lio/netty/buffer/PoolThreadCache;
            aload 1 /* buf */
            iload 2 /* newCapacity */
            invokevirtual io.netty.buffer.PoolArena.allocate:(Lio/netty/buffer/PoolThreadCache;Lio/netty/buffer/PooledByteBuf;I)V
        13: .line 398
            iload 2 /* newCapacity */
            iload 4 /* oldCapacity */
            if_icmple 19
        14: .line 399
            aload 0 /* this */
        15: .line 400
            aload 8 /* oldMemory */
            iload 9 /* oldOffset */
        16: .line 401
            aload 1 /* buf */
            getfield io.netty.buffer.PooledByteBuf.memory:Ljava/lang/Object;
            aload 1 /* buf */
            getfield io.netty.buffer.PooledByteBuf.offset:I
            iload 4 /* oldCapacity */
        17: .line 399
            invokevirtual io.netty.buffer.PoolArena.memoryCopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 402
            goto 29
      StackMap locals: io.netty.buffer.PoolArena io.netty.buffer.PooledByteBuf int int int io.netty.buffer.PoolChunk long java.lang.Object int int int int
      StackMap stack:
        19: iload 2 /* newCapacity */
            iload 4 /* oldCapacity */
            if_icmpge 29
        20: .line 403
            iload 11 /* readerIndex */
            iload 2 /* newCapacity */
            if_icmpge 28
        21: .line 404
            iload 12 /* writerIndex */
            iload 2 /* newCapacity */
            if_icmple 23
        22: .line 405
            iload 2 /* newCapacity */
            istore 12 /* writerIndex */
        23: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        24: .line 408
            aload 8 /* oldMemory */
            iload 9 /* oldOffset */
            iload 11 /* readerIndex */
            iadd
        25: .line 409
            aload 1 /* buf */
            getfield io.netty.buffer.PooledByteBuf.memory:Ljava/lang/Object;
            aload 1 /* buf */
            getfield io.netty.buffer.PooledByteBuf.offset:I
            iload 11 /* readerIndex */
            iadd
            iload 12 /* writerIndex */
            iload 11 /* readerIndex */
            isub
        26: .line 407
            invokevirtual io.netty.buffer.PoolArena.memoryCopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        27: .line 410
            goto 29
        28: .line 411
      StackMap locals:
      StackMap stack:
            iload 2 /* newCapacity */
            dup
            istore 12 /* writerIndex */
            istore 11 /* readerIndex */
        29: .line 415
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            iload 11 /* readerIndex */
            iload 12 /* writerIndex */
            invokevirtual io.netty.buffer.PooledByteBuf.setIndex:(II)Lio/netty/buffer/ByteBuf;
            pop
        30: .line 417
            iload 3 /* freeOldMemory */
            ifeq 32
        31: .line 418
            aload 0 /* this */
            aload 5 /* oldChunk */
            lload 6 /* oldHandle */
            iload 10 /* oldMaxLength */
            aload 1 /* buf */
            getfield io.netty.buffer.PooledByteBuf.cache:Lio/netty/buffer/PoolThreadCache;
            invokevirtual io.netty.buffer.PoolArena.free:(Lio/netty/buffer/PoolChunk;JILio/netty/buffer/PoolThreadCache;)V
        32: .line 420
      StackMap locals:
      StackMap stack:
            return
        end local 12 // int writerIndex
        end local 11 // int readerIndex
        end local 10 // int oldMaxLength
        end local 9 // int oldOffset
        end local 8 // java.lang.Object oldMemory
        end local 6 // long oldHandle
        end local 5 // io.netty.buffer.PoolChunk oldChunk
        end local 4 // int oldCapacity
        end local 3 // boolean freeOldMemory
        end local 2 // int newCapacity
        end local 1 // io.netty.buffer.PooledByteBuf buf
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   33     0           this  Lio/netty/buffer/PoolArena<TT;>;
            0   33     1            buf  Lio/netty/buffer/PooledByteBuf<TT;>;
            0   33     2    newCapacity  I
            0   33     3  freeOldMemory  Z
            3   33     4    oldCapacity  I
            6   33     5       oldChunk  Lio/netty/buffer/PoolChunk<TT;>;
            7   33     6      oldHandle  J
            8   33     8      oldMemory  TT;
            9   33     9      oldOffset  I
           10   33    10   oldMaxLength  I
           11   33    11    readerIndex  I
           12   33    12    writerIndex  I
    Signature: (Lio/netty/buffer/PooledByteBuf<TT;>;IZ)V
    MethodParameters:
               Name  Flags
      buf            
      newCapacity    
      freeOldMemory  

  public int numThreadCaches();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 424
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.numThreadCaches:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ireturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public int numTinySubpages();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 429
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.tinySubpagePools:[Lio/netty/buffer/PoolSubpage;
            arraylength
            ireturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public int numSmallSubpages();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 434
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.smallSubpagePools:[Lio/netty/buffer/PoolSubpage;
            arraylength
            ireturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public int numChunkLists();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 439
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.chunkListMetrics:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public java.util.List<io.netty.buffer.PoolSubpageMetric> tinySubpages();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 444
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.tinySubpagePools:[Lio/netty/buffer/PoolSubpage;
            invokestatic io.netty.buffer.PoolArena.subPageMetricList:([Lio/netty/buffer/PoolSubpage;)Ljava/util/List;
            areturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;
    Signature: ()Ljava/util/List<Lio/netty/buffer/PoolSubpageMetric;>;

  public java.util.List<io.netty.buffer.PoolSubpageMetric> smallSubpages();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 449
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.smallSubpagePools:[Lio/netty/buffer/PoolSubpage;
            invokestatic io.netty.buffer.PoolArena.subPageMetricList:([Lio/netty/buffer/PoolSubpage;)Ljava/util/List;
            areturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;
    Signature: ()Ljava/util/List<Lio/netty/buffer/PoolSubpageMetric;>;

  public java.util.List<io.netty.buffer.PoolChunkListMetric> chunkLists();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 454
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.chunkListMetrics:Ljava/util/List;
            areturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;
    Signature: ()Ljava/util/List<Lio/netty/buffer/PoolChunkListMetric;>;

  private static java.util.List<io.netty.buffer.PoolSubpageMetric> subPageMetricList(io.netty.buffer.PoolSubpage<?>[]);
    descriptor: ([Lio/netty/buffer/PoolSubpage;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // io.netty.buffer.PoolSubpage[] pages
         0: .line 458
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* metrics */
        start local 1 // java.util.List metrics
         1: .line 459
            aload 0 /* pages */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 10
      StackMap locals: io.netty.buffer.PoolSubpage[] java.util.List top int int io.netty.buffer.PoolSubpage[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* head */
        start local 2 // io.netty.buffer.PoolSubpage head
         3: .line 460
            aload 2 /* head */
            getfield io.netty.buffer.PoolSubpage.next:Lio/netty/buffer/PoolSubpage;
            aload 2 /* head */
            if_acmpne 5
         4: .line 461
            goto 9
         5: .line 463
      StackMap locals: io.netty.buffer.PoolSubpage[] java.util.List io.netty.buffer.PoolSubpage int int io.netty.buffer.PoolSubpage[]
      StackMap stack:
            aload 2 /* head */
            getfield io.netty.buffer.PoolSubpage.next:Lio/netty/buffer/PoolSubpage;
            astore 6 /* s */
        start local 6 // io.netty.buffer.PoolSubpage s
         6: .line 465
      StackMap locals: io.netty.buffer.PoolSubpage
      StackMap stack:
            aload 1 /* metrics */
            aload 6 /* s */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 466
            aload 6 /* s */
            getfield io.netty.buffer.PoolSubpage.next:Lio/netty/buffer/PoolSubpage;
            astore 6 /* s */
         8: .line 467
            aload 6 /* s */
            aload 2 /* head */
            if_acmpne 6
        end local 6 // io.netty.buffer.PoolSubpage s
        end local 2 // io.netty.buffer.PoolSubpage head
         9: .line 459
      StackMap locals: io.netty.buffer.PoolSubpage[] java.util.List top int int io.netty.buffer.PoolSubpage[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        10: iload 3
            iload 4
            if_icmplt 2
        11: .line 472
            aload 1 /* metrics */
            areturn
        end local 1 // java.util.List metrics
        end local 0 // io.netty.buffer.PoolSubpage[] pages
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0    pages  [Lio/netty/buffer/PoolSubpage;
            1   12     1  metrics  Ljava/util/List<Lio/netty/buffer/PoolSubpageMetric;>;
            3    9     2     head  Lio/netty/buffer/PoolSubpage<*>;
            6    9     6        s  Lio/netty/buffer/PoolSubpage<*>;
    Signature: ([Lio/netty/buffer/PoolSubpage<*>;)Ljava/util/List<Lio/netty/buffer/PoolSubpageMetric;>;
    MethodParameters:
       Name  Flags
      pages  

  public long numAllocations();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 478
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 479
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsNormal:J
            lstore 1 /* allocsNormal */
        start local 1 // long allocsNormal
         2: .line 478
            aload 3
            monitorexit
         3: goto 6
        end local 1 // long allocsNormal
      StackMap locals: io.netty.buffer.PoolArena top top io.netty.buffer.PoolArena
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
        start local 1 // long allocsNormal
         6: .line 481
      StackMap locals: io.netty.buffer.PoolArena long
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsTiny:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsSmall:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
            ladd
            lload 1 /* allocsNormal */
            ladd
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsHuge:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
            ladd
            lreturn
        end local 1 // long allocsNormal
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lio/netty/buffer/PoolArena<TT;>;
            2    4     1  allocsNormal  J
            6    7     1  allocsNormal  J
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public long numTinyAllocations();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 486
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsTiny:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
            lreturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public long numSmallAllocations();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 491
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsSmall:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
            lreturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public synchronized long numNormalAllocations();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 496
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsNormal:J
            lreturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public long numDeallocations();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 502
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 503
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsTiny:J
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsSmall:J
            ladd
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsNormal:J
            ladd
            lstore 1 /* deallocs */
        start local 1 // long deallocs
         2: .line 502
            aload 3
            monitorexit
         3: goto 6
        end local 1 // long deallocs
      StackMap locals: io.netty.buffer.PoolArena top top io.netty.buffer.PoolArena
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
        start local 1 // long deallocs
         6: .line 505
      StackMap locals: io.netty.buffer.PoolArena long
      StackMap stack:
            lload 1 /* deallocs */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsHuge:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
            ladd
            lreturn
        end local 1 // long deallocs
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lio/netty/buffer/PoolArena<TT;>;
            2    4     1  deallocs  J
            6    7     1  deallocs  J
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public synchronized long numTinyDeallocations();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 510
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsTiny:J
            lreturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public synchronized long numSmallDeallocations();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 515
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsSmall:J
            lreturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public synchronized long numNormalDeallocations();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 520
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsNormal:J
            lreturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public long numHugeAllocations();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 525
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsHuge:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
            lreturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public long numHugeDeallocations();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 530
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsHuge:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
            lreturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public long numActiveAllocations();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 535
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsTiny:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsSmall:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
            ladd
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsHuge:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
            ladd
         1: .line 536
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsHuge:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
         2: .line 535
            lsub
            lstore 1 /* val */
        start local 1 // long val
         3: .line 537
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         4: .line 538
            lload 1 /* val */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsNormal:J
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsTiny:J
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsSmall:J
            ladd
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsNormal:J
            ladd
            lsub
            ladd
            lstore 1 /* val */
         5: .line 537
            aload 3
            monitorexit
         6: goto 9
      StackMap locals: io.netty.buffer.PoolArena long io.netty.buffer.PoolArena
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
         9: .line 540
      StackMap locals:
      StackMap stack:
            lload 1 /* val */
            lconst_0
            invokestatic java.lang.Math.max:(JJ)J
            lreturn
        end local 1 // long val
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/netty/buffer/PoolArena<TT;>;
            3   10     1   val  J
      Exception table:
        from    to  target  type
           4     6       7  any
           7     8       7  any

  public long numActiveTinyAllocations();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 545
            aload 0 /* this */
            invokevirtual io.netty.buffer.PoolArena.numTinyAllocations:()J
            aload 0 /* this */
            invokevirtual io.netty.buffer.PoolArena.numTinyDeallocations:()J
            lsub
            lconst_0
            invokestatic java.lang.Math.max:(JJ)J
            lreturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public long numActiveSmallAllocations();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 550
            aload 0 /* this */
            invokevirtual io.netty.buffer.PoolArena.numSmallAllocations:()J
            aload 0 /* this */
            invokevirtual io.netty.buffer.PoolArena.numSmallDeallocations:()J
            lsub
            lconst_0
            invokestatic java.lang.Math.max:(JJ)J
            lreturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public long numActiveNormalAllocations();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 556
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 557
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.allocationsNormal:J
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.deallocationsNormal:J
            lsub
            lstore 1 /* val */
        start local 1 // long val
         2: .line 556
            aload 3
            monitorexit
         3: goto 6
        end local 1 // long val
      StackMap locals: io.netty.buffer.PoolArena top top io.netty.buffer.PoolArena
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
        start local 1 // long val
         6: .line 559
      StackMap locals: io.netty.buffer.PoolArena long
      StackMap stack:
            lload 1 /* val */
            lconst_0
            invokestatic java.lang.Math.max:(JJ)J
            lreturn
        end local 1 // long val
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/netty/buffer/PoolArena<TT;>;
            2    4     1   val  J
            6    7     1   val  J
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public long numActiveHugeAllocations();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 564
            aload 0 /* this */
            invokevirtual io.netty.buffer.PoolArena.numHugeAllocations:()J
            aload 0 /* this */
            invokevirtual io.netty.buffer.PoolArena.numHugeDeallocations:()J
            lsub
            lconst_0
            invokestatic java.lang.Math.max:(JJ)J
            lreturn
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/PoolArena<TT;>;

  public long numActiveBytes();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 569
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.activeBytesHuge:Lio/netty/util/internal/LongCounter;
            invokeinterface io.netty.util.internal.LongCounter.value:()J
            lstore 1 /* val */
        start local 1 // long val
         1: .line 570
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         2: .line 571
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 9
         4: .line 572
      StackMap locals: long io.netty.buffer.PoolArena int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.chunkListMetrics:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.netty.buffer.PoolChunkListMetric
            invokeinterface io.netty.buffer.PoolChunkListMetric.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: io.netty.buffer.PoolArena long io.netty.buffer.PoolArena int top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.netty.buffer.PoolChunkMetric
            astore 5 /* m */
        start local 5 // io.netty.buffer.PoolChunkMetric m
         6: .line 573
            lload 1 /* val */
            aload 5 /* m */
            invokeinterface io.netty.buffer.PoolChunkMetric.chunkSize:()I
            i2l
            ladd
            lstore 1 /* val */
        end local 5 // io.netty.buffer.PoolChunkMetric m
         7: .line 572
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 571
            iinc 4 /* i */ 1
      StackMap locals: io.netty.buffer.PoolArena long io.netty.buffer.PoolArena int
      StackMap stack:
         9: iload 4 /* i */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.chunkListMetrics:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 4 // int i
        10: .line 570
            aload 3
            monitorexit
        11: goto 14
      StackMap locals: io.netty.buffer.PoolArena long io.netty.buffer.PoolArena
      StackMap stack: java.lang.Throwable
        12: aload 3
            monitorexit
        13: athrow
        14: .line 577
      StackMap locals:
      StackMap stack:
            lconst_0
            lload 1 /* val */
            invokestatic java.lang.Math.max:(JJ)J
            lreturn
        end local 1 // long val
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lio/netty/buffer/PoolArena<TT;>;
            1   15     1   val  J
            3   10     4     i  I
            6    7     5     m  Lio/netty/buffer/PoolChunkMetric;
      Exception table:
        from    to  target  type
           2    11      12  any
          12    13      12  any

  protected abstract io.netty.buffer.PoolChunk<T> newChunk(int, int, int, int);
    descriptor: (IIII)Lio/netty/buffer/PoolChunk;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (IIII)Lio/netty/buffer/PoolChunk<TT;>;
    MethodParameters:
            Name  Flags
      pageSize    
      maxOrder    
      pageShifts  
      chunkSize   

  protected abstract io.netty.buffer.PoolChunk<T> newUnpooledChunk(int);
    descriptor: (I)Lio/netty/buffer/PoolChunk;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (I)Lio/netty/buffer/PoolChunk<TT;>;
    MethodParameters:
          Name  Flags
      capacity  

  protected abstract io.netty.buffer.PooledByteBuf<T> newByteBuf(int);
    descriptor: (I)Lio/netty/buffer/PooledByteBuf;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (I)Lio/netty/buffer/PooledByteBuf<TT;>;
    MethodParameters:
             Name  Flags
      maxCapacity  

  protected abstract void memoryCopy(T, int, T, int, );
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;II)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TT;ITT;II)V
    MethodParameters:
           Name  Flags
      src        
      srcOffset  
      dst        
      dstOffset  
      length     

  protected abstract void destroyChunk(io.netty.buffer.PoolChunk<T>);
    descriptor: (Lio/netty/buffer/PoolChunk;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Lio/netty/buffer/PoolChunk<TT;>;)V
    MethodParameters:
       Name  Flags
      chunk  

  public synchronized java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 588
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
         1: .line 589
            ldc "Chunk(s) at 0~25%:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 590
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 591
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.qInit:Lio/netty/buffer/PoolChunkList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         4: .line 592
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 593
            ldc "Chunk(s) at 0~50%:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 594
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 595
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q000:Lio/netty/buffer/PoolChunkList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         8: .line 596
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 597
            ldc "Chunk(s) at 25~75%:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 598
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 599
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q025:Lio/netty/buffer/PoolChunkList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        12: .line 600
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 601
            ldc "Chunk(s) at 50~100%:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 602
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 603
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q050:Lio/netty/buffer/PoolChunkList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        16: .line 604
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 605
            ldc "Chunk(s) at 75~100%:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 606
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 607
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q075:Lio/netty/buffer/PoolChunkList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        20: .line 608
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 609
            ldc "Chunk(s) at 100%:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 610
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 611
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q100:Lio/netty/buffer/PoolChunkList;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        24: .line 612
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 613
            ldc "tiny subpages:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 588
            astore 1 /* buf */
        start local 1 // java.lang.StringBuilder buf
        27: .line 614
            aload 1 /* buf */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.tinySubpagePools:[Lio/netty/buffer/PoolSubpage;
            invokestatic io.netty.buffer.PoolArena.appendPoolSubPages:(Ljava/lang/StringBuilder;[Lio/netty/buffer/PoolSubpage;)V
        28: .line 615
            aload 1 /* buf */
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 616
            ldc "small subpages:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 617
            aload 1 /* buf */
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.smallSubpagePools:[Lio/netty/buffer/PoolSubpage;
            invokestatic io.netty.buffer.PoolArena.appendPoolSubPages:(Ljava/lang/StringBuilder;[Lio/netty/buffer/PoolSubpage;)V
        31: .line 618
            aload 1 /* buf */
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 620
            aload 1 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buf
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   33     0  this  Lio/netty/buffer/PoolArena<TT;>;
           27   33     1   buf  Ljava/lang/StringBuilder;

  private static void appendPoolSubPages(java.lang.StringBuilder, io.netty.buffer.PoolSubpage<?>[]);
    descriptor: (Ljava/lang/StringBuilder;[Lio/netty/buffer/PoolSubpage;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.lang.StringBuilder buf
        start local 1 // io.netty.buffer.PoolSubpage[] subpages
         0: .line 624
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 13
         2: .line 625
      StackMap locals: int
      StackMap stack:
            aload 1 /* subpages */
            iload 2 /* i */
            aaload
            astore 3 /* head */
        start local 3 // io.netty.buffer.PoolSubpage head
         3: .line 626
            aload 3 /* head */
            getfield io.netty.buffer.PoolSubpage.next:Lio/netty/buffer/PoolSubpage;
            aload 3 /* head */
            if_acmpne 5
         4: .line 627
            goto 12
         5: .line 630
      StackMap locals: io.netty.buffer.PoolSubpage
      StackMap stack:
            aload 0 /* buf */
            getstatic io.netty.util.internal.StringUtil.NEWLINE:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 631
            iload 2 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         7: .line 632
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 633
            aload 3 /* head */
            getfield io.netty.buffer.PoolSubpage.next:Lio/netty/buffer/PoolSubpage;
            astore 4 /* s */
        start local 4 // io.netty.buffer.PoolSubpage s
         9: .line 635
      StackMap locals: io.netty.buffer.PoolSubpage
      StackMap stack:
            aload 0 /* buf */
            aload 4 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        10: .line 636
            aload 4 /* s */
            getfield io.netty.buffer.PoolSubpage.next:Lio/netty/buffer/PoolSubpage;
            astore 4 /* s */
        11: .line 637
            aload 4 /* s */
            aload 3 /* head */
            if_acmpne 9
        end local 4 // io.netty.buffer.PoolSubpage s
        end local 3 // io.netty.buffer.PoolSubpage head
        12: .line 624
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            aload 1 /* subpages */
            arraylength
            if_icmplt 2
        end local 2 // int i
        14: .line 642
            return
        end local 1 // io.netty.buffer.PoolSubpage[] subpages
        end local 0 // java.lang.StringBuilder buf
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0       buf  Ljava/lang/StringBuilder;
            0   15     1  subpages  [Lio/netty/buffer/PoolSubpage;
            1   14     2         i  I
            3   12     3      head  Lio/netty/buffer/PoolSubpage<*>;
            9   12     4         s  Lio/netty/buffer/PoolSubpage<*>;
    Signature: (Ljava/lang/StringBuilder;[Lio/netty/buffer/PoolSubpage<*>;)V
    MethodParameters:
          Name  Flags
      buf       
      subpages  

  protected final void finalize();
    descriptor: ()V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // io.netty.buffer.PoolArena this
         0: .line 647
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         1: .line 648
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 1
         3: .line 649
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.smallSubpagePools:[Lio/netty/buffer/PoolSubpage;
            invokestatic io.netty.buffer.PoolArena.destroyPoolSubPages:([Lio/netty/buffer/PoolSubpage;)V
         4: .line 650
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.tinySubpagePools:[Lio/netty/buffer/PoolSubpage;
            invokestatic io.netty.buffer.PoolArena.destroyPoolSubPages:([Lio/netty/buffer/PoolSubpage;)V
         5: .line 651
            aload 0 /* this */
            bipush 6
            anewarray io.netty.buffer.PoolChunkList
            dup
            iconst_0
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.qInit:Lio/netty/buffer/PoolChunkList;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q000:Lio/netty/buffer/PoolChunkList;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q025:Lio/netty/buffer/PoolChunkList;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q050:Lio/netty/buffer/PoolChunkList;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q075:Lio/netty/buffer/PoolChunkList;
            aastore
            dup
            iconst_5
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q100:Lio/netty/buffer/PoolChunkList;
            aastore
            invokevirtual io.netty.buffer.PoolArena.destroyPoolChunkLists:([Lio/netty/buffer/PoolChunkList;)V
         6: .line 652
            aload 1
            athrow
         7: .line 649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.smallSubpagePools:[Lio/netty/buffer/PoolSubpage;
            invokestatic io.netty.buffer.PoolArena.destroyPoolSubPages:([Lio/netty/buffer/PoolSubpage;)V
         8: .line 650
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.tinySubpagePools:[Lio/netty/buffer/PoolSubpage;
            invokestatic io.netty.buffer.PoolArena.destroyPoolSubPages:([Lio/netty/buffer/PoolSubpage;)V
         9: .line 651
            aload 0 /* this */
            bipush 6
            anewarray io.netty.buffer.PoolChunkList
            dup
            iconst_0
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.qInit:Lio/netty/buffer/PoolChunkList;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q000:Lio/netty/buffer/PoolChunkList;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q025:Lio/netty/buffer/PoolChunkList;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q050:Lio/netty/buffer/PoolChunkList;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q075:Lio/netty/buffer/PoolChunkList;
            aastore
            dup
            iconst_5
            aload 0 /* this */
            getfield io.netty.buffer.PoolArena.q100:Lio/netty/buffer/PoolChunkList;
            aastore
            invokevirtual io.netty.buffer.PoolArena.destroyPoolChunkLists:([Lio/netty/buffer/PoolChunkList;)V
        10: .line 653
            return
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lio/netty/buffer/PoolArena<TT;>;
      Exception table:
        from    to  target  type
           0     2       2  any
    Exceptions:
      throws java.lang.Throwable

  private static void destroyPoolSubPages(io.netty.buffer.PoolSubpage<?>[]);
    descriptor: ([Lio/netty/buffer/PoolSubpage;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // io.netty.buffer.PoolSubpage[] pages
         0: .line 656
            aload 0 /* pages */
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 4
      StackMap locals: io.netty.buffer.PoolSubpage[] top int int io.netty.buffer.PoolSubpage[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* page */
        start local 1 // io.netty.buffer.PoolSubpage page
         2: .line 657
            aload 1 /* page */
            invokevirtual io.netty.buffer.PoolSubpage.destroy:()V
        end local 1 // io.netty.buffer.PoolSubpage page
         3: .line 656
            iinc 2 1
      StackMap locals:
      StackMap stack:
         4: iload 2
            iload 3
            if_icmplt 1
         5: .line 659
            return
        end local 0 // io.netty.buffer.PoolSubpage[] pages
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  pages  [Lio/netty/buffer/PoolSubpage;
            2    3     1   page  Lio/netty/buffer/PoolSubpage<*>;
    Signature: ([Lio/netty/buffer/PoolSubpage<*>;)V
    MethodParameters:
       Name  Flags
      pages  

  private void destroyPoolChunkLists(io.netty.buffer.PoolChunkList<T>[]);
    descriptor: ([Lio/netty/buffer/PoolChunkList;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // io.netty.buffer.PoolArena this
        start local 1 // io.netty.buffer.PoolChunkList[] chunkLists
         0: .line 662
            aload 1 /* chunkLists */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: io.netty.buffer.PoolArena io.netty.buffer.PoolChunkList[] top int int io.netty.buffer.PoolChunkList[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* chunkList */
        start local 2 // io.netty.buffer.PoolChunkList chunkList
         2: .line 663
            aload 2 /* chunkList */
            aload 0 /* this */
            invokevirtual io.netty.buffer.PoolChunkList.destroy:(Lio/netty/buffer/PoolArena;)V
        end local 2 // io.netty.buffer.PoolChunkList chunkList
         3: .line 662
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 665
            return
        end local 1 // io.netty.buffer.PoolChunkList[] chunkLists
        end local 0 // io.netty.buffer.PoolArena this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lio/netty/buffer/PoolArena<TT;>;
            0    6     1  chunkLists  [Lio/netty/buffer/PoolChunkList;
            2    3     2   chunkList  Lio/netty/buffer/PoolChunkList<TT;>;
    Signature: ([Lio/netty/buffer/PoolChunkList<TT;>;)V
    MethodParameters:
            Name  Flags
      chunkLists  

  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: .line 31
            getstatic io.netty.buffer.PoolArena.$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.PoolArena.$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
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lio/netty/buffer/PoolArenaMetric;
SourceFile: "PoolArena.java"
NestMembers:
  io.netty.buffer.PoolArena$DirectArena  io.netty.buffer.PoolArena$HeapArena  io.netty.buffer.PoolArena$SizeClass
InnerClasses:
  final DirectArena = io.netty.buffer.PoolArena$DirectArena of io.netty.buffer.PoolArena
  final HeapArena = io.netty.buffer.PoolArena$HeapArena of io.netty.buffer.PoolArena
  final SizeClass = io.netty.buffer.PoolArena$SizeClass of io.netty.buffer.PoolArena