public final class io.netty.buffer.UnpooledByteBufAllocator extends io.netty.buffer.AbstractByteBufAllocator implements io.netty.buffer.ByteBufAllocatorMetricProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.netty.buffer.UnpooledByteBufAllocator
  super_class: io.netty.buffer.AbstractByteBufAllocator
{
  private final io.netty.buffer.UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric metric;
    descriptor: Lio/netty/buffer/UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean disableLeakDetector;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean noCleaner;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static final io.netty.buffer.UnpooledByteBufAllocator DEFAULT;
    descriptor: Lio/netty/buffer/UnpooledByteBufAllocator;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 37
            new io.netty.buffer.UnpooledByteBufAllocator
            dup
            invokestatic io.netty.util.internal.PlatformDependent.directBufferPreferred:()Z
            invokespecial io.netty.buffer.UnpooledByteBufAllocator.<init>:(Z)V
         1: .line 36
            putstatic io.netty.buffer.UnpooledByteBufAllocator.DEFAULT:Lio/netty/buffer/UnpooledByteBufAllocator;
         2: .line 37
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
        start local 1 // boolean preferDirect
         0: .line 46
            aload 0 /* this */
            iload 1 /* preferDirect */
            iconst_0
            invokespecial io.netty.buffer.UnpooledByteBufAllocator.<init>:(ZZ)V
         1: .line 47
            return
        end local 1 // boolean preferDirect
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/netty/buffer/UnpooledByteBufAllocator;
            0    2     1  preferDirect  Z
    MethodParameters:
              Name  Flags
      preferDirect  

  public void <init>(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
        start local 1 // boolean preferDirect
        start local 2 // boolean disableLeakDetector
         0: .line 59
            aload 0 /* this */
            iload 1 /* preferDirect */
            iload 2 /* disableLeakDetector */
            invokestatic io.netty.util.internal.PlatformDependent.useDirectBufferNoCleaner:()Z
            invokespecial io.netty.buffer.UnpooledByteBufAllocator.<init>:(ZZZ)V
         1: .line 60
            return
        end local 2 // boolean disableLeakDetector
        end local 1 // boolean preferDirect
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lio/netty/buffer/UnpooledByteBufAllocator;
            0    2     1         preferDirect  Z
            0    2     2  disableLeakDetector  Z
    MethodParameters:
                     Name  Flags
      preferDirect         
      disableLeakDetector  

  public void <init>(boolean, boolean, boolean);
    descriptor: (ZZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
        start local 1 // boolean preferDirect
        start local 2 // boolean disableLeakDetector
        start local 3 // boolean tryNoCleaner
         0: .line 74
            aload 0 /* this */
            iload 1 /* preferDirect */
            invokespecial io.netty.buffer.AbstractByteBufAllocator.<init>:(Z)V
         1: .line 29
            aload 0 /* this */
            new io.netty.buffer.UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric
            dup
            invokespecial io.netty.buffer.UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric.<init>:()V
            putfield io.netty.buffer.UnpooledByteBufAllocator.metric:Lio/netty/buffer/UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric;
         2: .line 75
            aload 0 /* this */
            iload 2 /* disableLeakDetector */
            putfield io.netty.buffer.UnpooledByteBufAllocator.disableLeakDetector:Z
         3: .line 76
            aload 0 /* this */
            iload 3 /* tryNoCleaner */
            ifeq 5
            invokestatic io.netty.util.internal.PlatformDependent.hasUnsafe:()Z
            ifeq 5
         4: .line 77
            invokestatic io.netty.util.internal.PlatformDependent.hasDirectBufferNoCleanerConstructor:()Z
            ifeq 5
            iconst_1
            goto 6
      StackMap locals: io.netty.buffer.UnpooledByteBufAllocator int int int
      StackMap stack: io.netty.buffer.UnpooledByteBufAllocator
         5: iconst_0
         6: .line 76
      StackMap locals: io.netty.buffer.UnpooledByteBufAllocator int int int
      StackMap stack: io.netty.buffer.UnpooledByteBufAllocator int
            putfield io.netty.buffer.UnpooledByteBufAllocator.noCleaner:Z
         7: .line 78
            return
        end local 3 // boolean tryNoCleaner
        end local 2 // boolean disableLeakDetector
        end local 1 // boolean preferDirect
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Lio/netty/buffer/UnpooledByteBufAllocator;
            0    8     1         preferDirect  Z
            0    8     2  disableLeakDetector  Z
            0    8     3         tryNoCleaner  Z
    MethodParameters:
                     Name  Flags
      preferDirect         
      disableLeakDetector  
      tryNoCleaner         

  protected io.netty.buffer.ByteBuf newHeapBuffer(int, int);
    descriptor: (II)Lio/netty/buffer/ByteBuf;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
        start local 1 // int initialCapacity
        start local 2 // int maxCapacity
         0: .line 82
            invokestatic io.netty.util.internal.PlatformDependent.hasUnsafe:()Z
            ifeq 2
         1: .line 83
            new io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf
            dup
            aload 0 /* this */
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokespecial io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf.<init>:(Lio/netty/buffer/UnpooledByteBufAllocator;II)V
            goto 3
         2: .line 84
      StackMap locals:
      StackMap stack:
            new io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledHeapByteBuf
            dup
            aload 0 /* this */
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokespecial io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledHeapByteBuf.<init>:(Lio/netty/buffer/UnpooledByteBufAllocator;II)V
         3: .line 82
      StackMap locals:
      StackMap stack: io.netty.buffer.UnpooledHeapByteBuf
            areturn
        end local 2 // int maxCapacity
        end local 1 // int initialCapacity
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lio/netty/buffer/UnpooledByteBufAllocator;
            0    4     1  initialCapacity  I
            0    4     2      maxCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  
      maxCapacity      

  protected io.netty.buffer.ByteBuf newDirectBuffer(int, int);
    descriptor: (II)Lio/netty/buffer/ByteBuf;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
        start local 1 // int initialCapacity
        start local 2 // int maxCapacity
         0: .line 90
            invokestatic io.netty.util.internal.PlatformDependent.hasUnsafe:()Z
            ifeq 5
         1: .line 91
            aload 0 /* this */
            getfield io.netty.buffer.UnpooledByteBufAllocator.noCleaner:Z
            ifeq 2
            new io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf
            dup
            aload 0 /* this */
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokespecial io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf.<init>:(Lio/netty/buffer/UnpooledByteBufAllocator;II)V
            goto 3
         2: .line 92
      StackMap locals:
      StackMap stack:
            new io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf
            dup
            aload 0 /* this */
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokespecial io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf.<init>:(Lio/netty/buffer/UnpooledByteBufAllocator;II)V
         3: .line 91
      StackMap locals:
      StackMap stack: io.netty.buffer.UnpooledUnsafeDirectByteBuf
            astore 3 /* buf */
        start local 3 // io.netty.buffer.ByteBuf buf
         4: .line 93
            goto 6
        end local 3 // io.netty.buffer.ByteBuf buf
         5: .line 94
      StackMap locals:
      StackMap stack:
            new io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledDirectByteBuf
            dup
            aload 0 /* this */
            iload 1 /* initialCapacity */
            iload 2 /* maxCapacity */
            invokespecial io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledDirectByteBuf.<init>:(Lio/netty/buffer/UnpooledByteBufAllocator;II)V
            astore 3 /* buf */
        start local 3 // io.netty.buffer.ByteBuf buf
         6: .line 96
      StackMap locals: io.netty.buffer.ByteBuf
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.buffer.UnpooledByteBufAllocator.disableLeakDetector:Z
            ifeq 7
            aload 3 /* buf */
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 3 /* buf */
            invokestatic io.netty.buffer.UnpooledByteBufAllocator.toLeakAwareBuffer:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
      StackMap locals:
      StackMap stack: io.netty.buffer.ByteBuf
         8: areturn
        end local 3 // io.netty.buffer.ByteBuf buf
        end local 2 // int maxCapacity
        end local 1 // int initialCapacity
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lio/netty/buffer/UnpooledByteBufAllocator;
            0    9     1  initialCapacity  I
            0    9     2      maxCapacity  I
            4    5     3              buf  Lio/netty/buffer/ByteBuf;
            6    9     3              buf  Lio/netty/buffer/ByteBuf;
    MethodParameters:
                 Name  Flags
      initialCapacity  
      maxCapacity      

  public io.netty.buffer.CompositeByteBuf compositeHeapBuffer(int);
    descriptor: (I)Lio/netty/buffer/CompositeByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
        start local 1 // int maxNumComponents
         0: .line 101
            new io.netty.buffer.CompositeByteBuf
            dup
            aload 0 /* this */
            iconst_0
            iload 1 /* maxNumComponents */
            invokespecial io.netty.buffer.CompositeByteBuf.<init>:(Lio/netty/buffer/ByteBufAllocator;ZI)V
            astore 2 /* buf */
        start local 2 // io.netty.buffer.CompositeByteBuf buf
         1: .line 102
            aload 0 /* this */
            getfield io.netty.buffer.UnpooledByteBufAllocator.disableLeakDetector:Z
            ifeq 2
            aload 2 /* buf */
            goto 3
      StackMap locals: io.netty.buffer.CompositeByteBuf
      StackMap stack:
         2: aload 2 /* buf */
            invokestatic io.netty.buffer.UnpooledByteBufAllocator.toLeakAwareBuffer:(Lio/netty/buffer/CompositeByteBuf;)Lio/netty/buffer/CompositeByteBuf;
      StackMap locals:
      StackMap stack: io.netty.buffer.CompositeByteBuf
         3: areturn
        end local 2 // io.netty.buffer.CompositeByteBuf buf
        end local 1 // int maxNumComponents
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lio/netty/buffer/UnpooledByteBufAllocator;
            0    4     1  maxNumComponents  I
            1    4     2               buf  Lio/netty/buffer/CompositeByteBuf;
    MethodParameters:
                  Name  Flags
      maxNumComponents  

  public io.netty.buffer.CompositeByteBuf compositeDirectBuffer(int);
    descriptor: (I)Lio/netty/buffer/CompositeByteBuf;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
        start local 1 // int maxNumComponents
         0: .line 107
            new io.netty.buffer.CompositeByteBuf
            dup
            aload 0 /* this */
            iconst_1
            iload 1 /* maxNumComponents */
            invokespecial io.netty.buffer.CompositeByteBuf.<init>:(Lio/netty/buffer/ByteBufAllocator;ZI)V
            astore 2 /* buf */
        start local 2 // io.netty.buffer.CompositeByteBuf buf
         1: .line 108
            aload 0 /* this */
            getfield io.netty.buffer.UnpooledByteBufAllocator.disableLeakDetector:Z
            ifeq 2
            aload 2 /* buf */
            goto 3
      StackMap locals: io.netty.buffer.CompositeByteBuf
      StackMap stack:
         2: aload 2 /* buf */
            invokestatic io.netty.buffer.UnpooledByteBufAllocator.toLeakAwareBuffer:(Lio/netty/buffer/CompositeByteBuf;)Lio/netty/buffer/CompositeByteBuf;
      StackMap locals:
      StackMap stack: io.netty.buffer.CompositeByteBuf
         3: areturn
        end local 2 // io.netty.buffer.CompositeByteBuf buf
        end local 1 // int maxNumComponents
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lio/netty/buffer/UnpooledByteBufAllocator;
            0    4     1  maxNumComponents  I
            1    4     2               buf  Lio/netty/buffer/CompositeByteBuf;
    MethodParameters:
                  Name  Flags
      maxNumComponents  

  public boolean isDirectBufferPooled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
         0: .line 113
            iconst_0
            ireturn
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/UnpooledByteBufAllocator;

  public io.netty.buffer.ByteBufAllocatorMetric metric();
    descriptor: ()Lio/netty/buffer/ByteBufAllocatorMetric;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
         0: .line 118
            aload 0 /* this */
            getfield io.netty.buffer.UnpooledByteBufAllocator.metric:Lio/netty/buffer/UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric;
            areturn
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/buffer/UnpooledByteBufAllocator;

  void incrementDirect(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
        start local 1 // int amount
         0: .line 122
            aload 0 /* this */
            getfield io.netty.buffer.UnpooledByteBufAllocator.metric:Lio/netty/buffer/UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric;
            getfield io.netty.buffer.UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric.directCounter:Lio/netty/util/internal/LongCounter;
            iload 1 /* amount */
            i2l
            invokeinterface io.netty.util.internal.LongCounter.add:(J)V
         1: .line 123
            return
        end local 1 // int amount
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/netty/buffer/UnpooledByteBufAllocator;
            0    2     1  amount  I
    MethodParameters:
        Name  Flags
      amount  

  void decrementDirect(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
        start local 1 // int amount
         0: .line 126
            aload 0 /* this */
            getfield io.netty.buffer.UnpooledByteBufAllocator.metric:Lio/netty/buffer/UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric;
            getfield io.netty.buffer.UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric.directCounter:Lio/netty/util/internal/LongCounter;
            iload 1 /* amount */
            ineg
            i2l
            invokeinterface io.netty.util.internal.LongCounter.add:(J)V
         1: .line 127
            return
        end local 1 // int amount
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/netty/buffer/UnpooledByteBufAllocator;
            0    2     1  amount  I
    MethodParameters:
        Name  Flags
      amount  

  void incrementHeap(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
        start local 1 // int amount
         0: .line 130
            aload 0 /* this */
            getfield io.netty.buffer.UnpooledByteBufAllocator.metric:Lio/netty/buffer/UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric;
            getfield io.netty.buffer.UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric.heapCounter:Lio/netty/util/internal/LongCounter;
            iload 1 /* amount */
            i2l
            invokeinterface io.netty.util.internal.LongCounter.add:(J)V
         1: .line 131
            return
        end local 1 // int amount
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/netty/buffer/UnpooledByteBufAllocator;
            0    2     1  amount  I
    MethodParameters:
        Name  Flags
      amount  

  void decrementHeap(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.buffer.UnpooledByteBufAllocator this
        start local 1 // int amount
         0: .line 134
            aload 0 /* this */
            getfield io.netty.buffer.UnpooledByteBufAllocator.metric:Lio/netty/buffer/UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric;
            getfield io.netty.buffer.UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric.heapCounter:Lio/netty/util/internal/LongCounter;
            iload 1 /* amount */
            ineg
            i2l
            invokeinterface io.netty.util.internal.LongCounter.add:(J)V
         1: .line 135
            return
        end local 1 // int amount
        end local 0 // io.netty.buffer.UnpooledByteBufAllocator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/netty/buffer/UnpooledByteBufAllocator;
            0    2     1  amount  I
    MethodParameters:
        Name  Flags
      amount  
}
SourceFile: "UnpooledByteBufAllocator.java"
NestMembers:
  io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledDirectByteBuf  io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledHeapByteBuf  io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf  io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf  io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf  io.netty.buffer.UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric
InnerClasses:
  private final InstrumentedUnpooledDirectByteBuf = io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledDirectByteBuf of io.netty.buffer.UnpooledByteBufAllocator
  private final InstrumentedUnpooledHeapByteBuf = io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledHeapByteBuf of io.netty.buffer.UnpooledByteBufAllocator
  private final InstrumentedUnpooledUnsafeDirectByteBuf = io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf of io.netty.buffer.UnpooledByteBufAllocator
  private final InstrumentedUnpooledUnsafeHeapByteBuf = io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf of io.netty.buffer.UnpooledByteBufAllocator
  private final InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf = io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeNoCleanerDirectByteBuf of io.netty.buffer.UnpooledByteBufAllocator
  private final UnpooledByteBufAllocatorMetric = io.netty.buffer.UnpooledByteBufAllocator$UnpooledByteBufAllocatorMetric of io.netty.buffer.UnpooledByteBufAllocator