public final class org.apache.cassandra.utils.FastByteOperations$PureJavaOperations implements org.apache.cassandra.utils.FastByteOperations$ByteOperations
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.cassandra.utils.FastByteOperations$PureJavaOperations
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.FastByteOperations$PureJavaOperations this
         0: .line 376
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.utils.FastByteOperations$PureJavaOperations this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/utils/FastByteOperations$PureJavaOperations;

  public int compare(byte[], int, int, byte[], int, int);
    descriptor: ([BII[BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=13, args_size=7
        start local 0 // org.apache.cassandra.utils.FastByteOperations$PureJavaOperations this
        start local 1 // byte[] buffer1
        start local 2 // int offset1
        start local 3 // int length1
        start local 4 // byte[] buffer2
        start local 5 // int offset2
        start local 6 // int length2
         0: .line 383
            aload 1 /* buffer1 */
            aload 4 /* buffer2 */
            if_acmpne 2
            iload 2 /* offset1 */
            iload 5 /* offset2 */
            if_icmpne 2
            iload 3 /* length1 */
            iload 6 /* length2 */
            if_icmpne 2
         1: .line 384
            iconst_0
            ireturn
         2: .line 386
      StackMap locals:
      StackMap stack:
            iload 2 /* offset1 */
            iload 3 /* length1 */
            iadd
            istore 7 /* end1 */
        start local 7 // int end1
         3: .line 387
            iload 5 /* offset2 */
            iload 6 /* length2 */
            iadd
            istore 8 /* end2 */
        start local 8 // int end2
         4: .line 388
            iload 2 /* offset1 */
            istore 9 /* i */
        start local 9 // int i
         5: iload 5 /* offset2 */
            istore 10 /* j */
        start local 10 // int j
         6: goto 12
         7: .line 390
      StackMap locals: org.apache.cassandra.utils.FastByteOperations$PureJavaOperations byte[] int int byte[] int int int int int int
      StackMap stack:
            aload 1 /* buffer1 */
            iload 9 /* i */
            baload
            sipush 255
            iand
            istore 11 /* a */
        start local 11 // int a
         8: .line 391
            aload 4 /* buffer2 */
            iload 10 /* j */
            baload
            sipush 255
            iand
            istore 12 /* b */
        start local 12 // int b
         9: .line 392
            iload 11 /* a */
            iload 12 /* b */
            if_icmpeq 11
        10: .line 394
            iload 11 /* a */
            iload 12 /* b */
            isub
            ireturn
        end local 12 // int b
        end local 11 // int a
        11: .line 388
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        12: iload 9 /* i */
            iload 7 /* end1 */
            if_icmpge 13
            iload 10 /* j */
            iload 8 /* end2 */
            if_icmplt 7
        end local 10 // int j
        end local 9 // int i
        13: .line 397
      StackMap locals:
      StackMap stack:
            iload 3 /* length1 */
            iload 6 /* length2 */
            isub
            ireturn
        end local 8 // int end2
        end local 7 // int end1
        end local 6 // int length2
        end local 5 // int offset2
        end local 4 // byte[] buffer2
        end local 3 // int length1
        end local 2 // int offset1
        end local 1 // byte[] buffer1
        end local 0 // org.apache.cassandra.utils.FastByteOperations$PureJavaOperations this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/apache/cassandra/utils/FastByteOperations$PureJavaOperations;
            0   14     1  buffer1  [B
            0   14     2  offset1  I
            0   14     3  length1  I
            0   14     4  buffer2  [B
            0   14     5  offset2  I
            0   14     6  length2  I
            3   14     7     end1  I
            4   14     8     end2  I
            5   13     9        i  I
            6   13    10        j  I
            8   11    11        a  I
            9   11    12        b  I
    MethodParameters:
         Name  Flags
      buffer1  
      offset1  
      length1  
      buffer2  
      offset2  
      length2  

  public int compare(java.nio.ByteBuffer, byte[], int, int);
    descriptor: (Ljava/nio/ByteBuffer;[BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.apache.cassandra.utils.FastByteOperations$PureJavaOperations this
        start local 1 // java.nio.ByteBuffer buffer1
        start local 2 // byte[] buffer2
        start local 3 // int offset2
        start local 4 // int length2
         0: .line 402
            aload 1 /* buffer1 */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 4
         1: .line 403
            aload 0 /* this */
            aload 1 /* buffer1 */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 1 /* buffer1 */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            aload 1 /* buffer1 */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            aload 1 /* buffer1 */
            invokevirtual java.nio.ByteBuffer.remaining:()I
         2: .line 404
            aload 2 /* buffer2 */
            iload 3 /* offset2 */
            iload 4 /* length2 */
         3: .line 403
            invokevirtual org.apache.cassandra.utils.FastByteOperations$PureJavaOperations.compare:([BII[BII)I
            ireturn
         4: .line 405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buffer1 */
            aload 2 /* buffer2 */
            iload 3 /* offset2 */
            iload 4 /* length2 */
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            invokevirtual org.apache.cassandra.utils.FastByteOperations$PureJavaOperations.compare:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
            ireturn
        end local 4 // int length2
        end local 3 // int offset2
        end local 2 // byte[] buffer2
        end local 1 // java.nio.ByteBuffer buffer1
        end local 0 // org.apache.cassandra.utils.FastByteOperations$PureJavaOperations this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/cassandra/utils/FastByteOperations$PureJavaOperations;
            0    5     1  buffer1  Ljava/nio/ByteBuffer;
            0    5     2  buffer2  [B
            0    5     3  offset2  I
            0    5     4  length2  I
    MethodParameters:
         Name  Flags
      buffer1  
      buffer2  
      offset2  
      length2  

  public int compare(java.nio.ByteBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=9, args_size=3
        start local 0 // org.apache.cassandra.utils.FastByteOperations$PureJavaOperations this
        start local 1 // java.nio.ByteBuffer buffer1
        start local 2 // java.nio.ByteBuffer buffer2
         0: .line 410
            aload 1 /* buffer1 */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 3 /* end1 */
        start local 3 // int end1
         1: .line 411
            aload 2 /* buffer2 */
            invokevirtual java.nio.ByteBuffer.limit:()I
            istore 4 /* end2 */
        start local 4 // int end2
         2: .line 412
            aload 1 /* buffer1 */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 5 /* i */
        start local 5 // int i
         3: aload 2 /* buffer2 */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 6 /* j */
        start local 6 // int j
         4: goto 10
         5: .line 414
      StackMap locals: org.apache.cassandra.utils.FastByteOperations$PureJavaOperations java.nio.ByteBuffer java.nio.ByteBuffer int int int int
      StackMap stack:
            aload 1 /* buffer1 */
            iload 5 /* i */
            invokevirtual java.nio.ByteBuffer.get:(I)B
            sipush 255
            iand
            istore 7 /* a */
        start local 7 // int a
         6: .line 415
            aload 2 /* buffer2 */
            iload 6 /* j */
            invokevirtual java.nio.ByteBuffer.get:(I)B
            sipush 255
            iand
            istore 8 /* b */
        start local 8 // int b
         7: .line 416
            iload 7 /* a */
            iload 8 /* b */
            if_icmpeq 9
         8: .line 418
            iload 7 /* a */
            iload 8 /* b */
            isub
            ireturn
        end local 8 // int b
        end local 7 // int a
         9: .line 412
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 3 /* end1 */
            if_icmpge 11
            iload 6 /* j */
            iload 4 /* end2 */
            if_icmplt 5
        end local 6 // int j
        end local 5 // int i
        11: .line 421
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer1 */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 2 /* buffer2 */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            isub
            ireturn
        end local 4 // int end2
        end local 3 // int end1
        end local 2 // java.nio.ByteBuffer buffer2
        end local 1 // java.nio.ByteBuffer buffer1
        end local 0 // org.apache.cassandra.utils.FastByteOperations$PureJavaOperations this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/apache/cassandra/utils/FastByteOperations$PureJavaOperations;
            0   12     1  buffer1  Ljava/nio/ByteBuffer;
            0   12     2  buffer2  Ljava/nio/ByteBuffer;
            1   12     3     end1  I
            2   12     4     end2  I
            3   11     5        i  I
            4   11     6        j  I
            6    9     7        a  I
            7    9     8        b  I
    MethodParameters:
         Name  Flags
      buffer1  
      buffer2  

  public void copy(java.nio.ByteBuffer, int, byte[], int, int);
    descriptor: (Ljava/nio/ByteBuffer;I[BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.apache.cassandra.utils.FastByteOperations$PureJavaOperations this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // int srcPosition
        start local 3 // byte[] trg
        start local 4 // int trgPosition
        start local 5 // int length
         0: .line 426
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 3
         1: .line 428
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            iload 2 /* srcPosition */
            iadd
            aload 3 /* trg */
            iload 4 /* trgPosition */
            iload 5 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 429
            return
         3: .line 431
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
            astore 1 /* src */
         4: .line 432
            aload 1 /* src */
            iload 2 /* srcPosition */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         5: .line 433
            aload 1 /* src */
            aload 3 /* trg */
            iload 4 /* trgPosition */
            iload 5 /* length */
            invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
            pop
         6: .line 434
            return
        end local 5 // int length
        end local 4 // int trgPosition
        end local 3 // byte[] trg
        end local 2 // int srcPosition
        end local 1 // java.nio.ByteBuffer src
        end local 0 // org.apache.cassandra.utils.FastByteOperations$PureJavaOperations this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/apache/cassandra/utils/FastByteOperations$PureJavaOperations;
            0    7     1          src  Ljava/nio/ByteBuffer;
            0    7     2  srcPosition  I
            0    7     3          trg  [B
            0    7     4  trgPosition  I
            0    7     5       length  I
    MethodParameters:
             Name  Flags
      src          
      srcPosition  
      trg          
      trgPosition  
      length       

  public void copy(java.nio.ByteBuffer, int, java.nio.ByteBuffer, int, int);
    descriptor: (Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.apache.cassandra.utils.FastByteOperations$PureJavaOperations this
        start local 1 // java.nio.ByteBuffer src
        start local 2 // int srcPosition
        start local 3 // java.nio.ByteBuffer trg
        start local 4 // int trgPosition
        start local 5 // int length
         0: .line 438
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 3
            aload 3 /* trg */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 3
         1: .line 440
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            iload 2 /* srcPosition */
            iadd
            aload 3 /* trg */
            invokevirtual java.nio.ByteBuffer.array:()[B
            aload 3 /* trg */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            iload 4 /* trgPosition */
            iadd
            iload 5 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 441
            return
         3: .line 443
      StackMap locals:
      StackMap stack:
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
            astore 1 /* src */
         4: .line 444
            aload 1 /* src */
            iload 2 /* srcPosition */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            iload 2 /* srcPosition */
            iload 5 /* length */
            iadd
            invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
            pop
         5: .line 445
            aload 3 /* trg */
            invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
            astore 3 /* trg */
         6: .line 446
            aload 3 /* trg */
            iload 4 /* trgPosition */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         7: .line 447
            aload 3 /* trg */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
         8: .line 448
            return
        end local 5 // int length
        end local 4 // int trgPosition
        end local 3 // java.nio.ByteBuffer trg
        end local 2 // int srcPosition
        end local 1 // java.nio.ByteBuffer src
        end local 0 // org.apache.cassandra.utils.FastByteOperations$PureJavaOperations this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/apache/cassandra/utils/FastByteOperations$PureJavaOperations;
            0    9     1          src  Ljava/nio/ByteBuffer;
            0    9     2  srcPosition  I
            0    9     3          trg  Ljava/nio/ByteBuffer;
            0    9     4  trgPosition  I
            0    9     5       length  I
    MethodParameters:
             Name  Flags
      src          
      srcPosition  
      trg          
      trgPosition  
      length       
}
SourceFile: "FastByteOperations.java"
NestHost: org.apache.cassandra.utils.FastByteOperations
InnerClasses:
  public abstract ByteOperations = org.apache.cassandra.utils.FastByteOperations$ByteOperations of org.apache.cassandra.utils.FastByteOperations
  public final PureJavaOperations = org.apache.cassandra.utils.FastByteOperations$PureJavaOperations of org.apache.cassandra.utils.FastByteOperations