public class com.fasterxml.jackson.core.util.BufferRecycler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.fasterxml.jackson.core.util.BufferRecycler
  super_class: java.lang.Object
{
  public static final int BYTE_READ_IO_BUFFER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int BYTE_WRITE_ENCODING_BUFFER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int BYTE_WRITE_CONCAT_BUFFER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int BYTE_BASE64_CODEC_BUFFER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int CHAR_TOKEN_BUFFER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int CHAR_CONCAT_BUFFER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int CHAR_TEXT_BUFFER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int CHAR_NAME_COPY_BUFFER;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int[] BYTE_BUFFER_LENGTHS;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] CHAR_BUFFER_LENGTHS;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected final java.util.concurrent.atomic.AtomicReferenceArray<byte[]> _byteBuffers;
    descriptor: Ljava/util/concurrent/atomic/AtomicReferenceArray;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReferenceArray<[B>;

  protected final java.util.concurrent.atomic.AtomicReferenceArray<char[]> _charBuffers;
    descriptor: Ljava/util/concurrent/atomic/AtomicReferenceArray;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReferenceArray<[C>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 76
            iconst_4
            newarray 10
            dup
            iconst_0
            sipush 8000
            iastore
            dup
            iconst_1
            sipush 8000
            iastore
            dup
            iconst_2
            sipush 2000
            iastore
            dup
            iconst_3
            sipush 2000
            iastore
            putstatic com.fasterxml.jackson.core.util.BufferRecycler.BYTE_BUFFER_LENGTHS:[I
         1: .line 77
            iconst_4
            newarray 10
            dup
            iconst_0
            sipush 4000
            iastore
            dup
            iconst_1
            sipush 4000
            iastore
            dup
            iconst_2
            sipush 200
            iastore
            dup
            iconst_3
            sipush 200
            iastore
            putstatic com.fasterxml.jackson.core.util.BufferRecycler.CHAR_BUFFER_LENGTHS:[I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
         0: .line 96
            aload 0 /* this */
            iconst_4
            iconst_4
            invokespecial com.fasterxml.jackson.core.util.BufferRecycler.<init>:(II)V
         1: .line 97
            return
        end local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/fasterxml/jackson/core/util/BufferRecycler;

  protected void <init>(int, int);
    descriptor: (II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
        start local 1 // int bbCount
        start local 2 // int cbCount
         0: .line 105
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 106
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReferenceArray
            dup
            iload 1 /* bbCount */
            invokespecial java.util.concurrent.atomic.AtomicReferenceArray.<init>:(I)V
            putfield com.fasterxml.jackson.core.util.BufferRecycler._byteBuffers:Ljava/util/concurrent/atomic/AtomicReferenceArray;
         2: .line 107
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReferenceArray
            dup
            iload 2 /* cbCount */
            invokespecial java.util.concurrent.atomic.AtomicReferenceArray.<init>:(I)V
            putfield com.fasterxml.jackson.core.util.BufferRecycler._charBuffers:Ljava/util/concurrent/atomic/AtomicReferenceArray;
         3: .line 108
            return
        end local 2 // int cbCount
        end local 1 // int bbCount
        end local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/fasterxml/jackson/core/util/BufferRecycler;
            0    4     1  bbCount  I
            0    4     2  cbCount  I
    MethodParameters:
         Name  Flags
      bbCount  
      cbCount  

  public final byte[] allocByteBuffer(int);
    descriptor: (I)[B
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
        start local 1 // int ix
         0: .line 120
            aload 0 /* this */
            iload 1 /* ix */
            iconst_0
            invokevirtual com.fasterxml.jackson.core.util.BufferRecycler.allocByteBuffer:(II)[B
            areturn
        end local 1 // int ix
        end local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/core/util/BufferRecycler;
            0    1     1    ix  I
    MethodParameters:
      Name  Flags
      ix    

  public byte[] allocByteBuffer(int, int);
    descriptor: (II)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
        start local 1 // int ix
        start local 2 // int minSize
         0: .line 124
            aload 0 /* this */
            iload 1 /* ix */
            invokevirtual com.fasterxml.jackson.core.util.BufferRecycler.byteBufferLength:(I)I
            istore 3 /* DEF_SIZE */
        start local 3 // int DEF_SIZE
         1: .line 125
            iload 2 /* minSize */
            iload 3 /* DEF_SIZE */
            if_icmpge 3
         2: .line 126
            iload 3 /* DEF_SIZE */
            istore 2 /* minSize */
         3: .line 128
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.fasterxml.jackson.core.util.BufferRecycler._byteBuffers:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            iload 1 /* ix */
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.getAndSet:(ILjava/lang/Object;)Ljava/lang/Object;
            checkcast byte[]
            astore 4 /* buffer */
        start local 4 // byte[] buffer
         4: .line 129
            aload 4 /* buffer */
            ifnull 5
            aload 4 /* buffer */
            arraylength
            iload 2 /* minSize */
            if_icmpge 6
         5: .line 130
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            iload 2 /* minSize */
            invokevirtual com.fasterxml.jackson.core.util.BufferRecycler.balloc:(I)[B
            astore 4 /* buffer */
         6: .line 132
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            areturn
        end local 4 // byte[] buffer
        end local 3 // int DEF_SIZE
        end local 2 // int minSize
        end local 1 // int ix
        end local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/fasterxml/jackson/core/util/BufferRecycler;
            0    7     1        ix  I
            0    7     2   minSize  I
            1    7     3  DEF_SIZE  I
            4    7     4    buffer  [B
    MethodParameters:
         Name  Flags
      ix       
      minSize  

  public void releaseByteBuffer(int, byte[]);
    descriptor: (I[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
        start local 1 // int ix
        start local 2 // byte[] buffer
         0: .line 136
            aload 0 /* this */
            getfield com.fasterxml.jackson.core.util.BufferRecycler._byteBuffers:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            iload 1 /* ix */
            aload 2 /* buffer */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
         1: .line 137
            return
        end local 2 // byte[] buffer
        end local 1 // int ix
        end local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/fasterxml/jackson/core/util/BufferRecycler;
            0    2     1      ix  I
            0    2     2  buffer  [B
    MethodParameters:
        Name  Flags
      ix      
      buffer  

  public final char[] allocCharBuffer(int);
    descriptor: (I)[C
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
        start local 1 // int ix
         0: .line 146
            aload 0 /* this */
            iload 1 /* ix */
            iconst_0
            invokevirtual com.fasterxml.jackson.core.util.BufferRecycler.allocCharBuffer:(II)[C
            areturn
        end local 1 // int ix
        end local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/core/util/BufferRecycler;
            0    1     1    ix  I
    MethodParameters:
      Name  Flags
      ix    

  public char[] allocCharBuffer(int, int);
    descriptor: (II)[C
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
        start local 1 // int ix
        start local 2 // int minSize
         0: .line 150
            aload 0 /* this */
            iload 1 /* ix */
            invokevirtual com.fasterxml.jackson.core.util.BufferRecycler.charBufferLength:(I)I
            istore 3 /* DEF_SIZE */
        start local 3 // int DEF_SIZE
         1: .line 151
            iload 2 /* minSize */
            iload 3 /* DEF_SIZE */
            if_icmpge 3
         2: .line 152
            iload 3 /* DEF_SIZE */
            istore 2 /* minSize */
         3: .line 154
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.fasterxml.jackson.core.util.BufferRecycler._charBuffers:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            iload 1 /* ix */
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.getAndSet:(ILjava/lang/Object;)Ljava/lang/Object;
            checkcast char[]
            astore 4 /* buffer */
        start local 4 // char[] buffer
         4: .line 155
            aload 4 /* buffer */
            ifnull 5
            aload 4 /* buffer */
            arraylength
            iload 2 /* minSize */
            if_icmpge 6
         5: .line 156
      StackMap locals: char[]
      StackMap stack:
            aload 0 /* this */
            iload 2 /* minSize */
            invokevirtual com.fasterxml.jackson.core.util.BufferRecycler.calloc:(I)[C
            astore 4 /* buffer */
         6: .line 158
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            areturn
        end local 4 // char[] buffer
        end local 3 // int DEF_SIZE
        end local 2 // int minSize
        end local 1 // int ix
        end local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/fasterxml/jackson/core/util/BufferRecycler;
            0    7     1        ix  I
            0    7     2   minSize  I
            1    7     3  DEF_SIZE  I
            4    7     4    buffer  [C
    MethodParameters:
         Name  Flags
      ix       
      minSize  

  public void releaseCharBuffer(int, char[]);
    descriptor: (I[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
        start local 1 // int ix
        start local 2 // char[] buffer
         0: .line 162
            aload 0 /* this */
            getfield com.fasterxml.jackson.core.util.BufferRecycler._charBuffers:Ljava/util/concurrent/atomic/AtomicReferenceArray;
            iload 1 /* ix */
            aload 2 /* buffer */
            invokevirtual java.util.concurrent.atomic.AtomicReferenceArray.set:(ILjava/lang/Object;)V
         1: .line 163
            return
        end local 2 // char[] buffer
        end local 1 // int ix
        end local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/fasterxml/jackson/core/util/BufferRecycler;
            0    2     1      ix  I
            0    2     2  buffer  [C
    MethodParameters:
        Name  Flags
      ix      
      buffer  

  protected int byteBufferLength(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
        start local 1 // int ix
         0: .line 172
            getstatic com.fasterxml.jackson.core.util.BufferRecycler.BYTE_BUFFER_LENGTHS:[I
            iload 1 /* ix */
            iaload
            ireturn
        end local 1 // int ix
        end local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/core/util/BufferRecycler;
            0    1     1    ix  I
    MethodParameters:
      Name  Flags
      ix    

  protected int charBufferLength(int);
    descriptor: (I)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
        start local 1 // int ix
         0: .line 176
            getstatic com.fasterxml.jackson.core.util.BufferRecycler.CHAR_BUFFER_LENGTHS:[I
            iload 1 /* ix */
            iaload
            ireturn
        end local 1 // int ix
        end local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/core/util/BufferRecycler;
            0    1     1    ix  I
    MethodParameters:
      Name  Flags
      ix    

  protected byte[] balloc(int);
    descriptor: (I)[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
        start local 1 // int size
         0: .line 185
            iload 1 /* size */
            newarray 8
            areturn
        end local 1 // int size
        end local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/core/util/BufferRecycler;
            0    1     1  size  I
    MethodParameters:
      Name  Flags
      size  

  protected char[] calloc(int);
    descriptor: (I)[C
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
        start local 1 // int size
         0: .line 186
            iload 1 /* size */
            newarray 5
            areturn
        end local 1 // int size
        end local 0 // com.fasterxml.jackson.core.util.BufferRecycler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/fasterxml/jackson/core/util/BufferRecycler;
            0    1     1  size  I
    MethodParameters:
      Name  Flags
      size  
}
SourceFile: "BufferRecycler.java"