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