final class com.google.common.hash.FarmHashFingerprint64 extends com.google.common.hash.AbstractNonStreamingHashFunction
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.hash.FarmHashFingerprint64
super_class: com.google.common.hash.AbstractNonStreamingHashFunction
{
static final com.google.common.hash.HashFunction FARMHASH_FINGERPRINT_64;
descriptor: Lcom/google/common/hash/HashFunction;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final long K0;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -4348849565147123417
private static final long K1;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -5435081209227447693
private static final long K2;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -7286425919675154353
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: .line 42
new com.google.common.hash.FarmHashFingerprint64
dup
invokespecial com.google.common.hash.FarmHashFingerprint64.<init>:()V
putstatic com.google.common.hash.FarmHashFingerprint64.FARMHASH_FINGERPRINT_64:Lcom/google/common/hash/HashFunction;
1: .line 47
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // com.google.common.hash.FarmHashFingerprint64 this
0: .line 41
aload 0 /* this */
invokespecial com.google.common.hash.AbstractNonStreamingHashFunction.<init>:()V
return
end local 0 // com.google.common.hash.FarmHashFingerprint64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/hash/FarmHashFingerprint64;
public com.google.common.hash.HashCode hashBytes(byte[], int, int);
descriptor: ([BII)Lcom/google/common/hash/HashCode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 // com.google.common.hash.FarmHashFingerprint64 this
start local 1 // byte[] input
start local 2 // int off
start local 3 // int len
0: .line 51
iload 2 /* off */
iload 2 /* off */
iload 3 /* len */
iadd
aload 1 /* input */
arraylength
invokestatic com.google.common.base.Preconditions.checkPositionIndexes:(III)V
1: .line 52
aload 1 /* input */
iload 2 /* off */
iload 3 /* len */
invokestatic com.google.common.hash.FarmHashFingerprint64.fingerprint:([BII)J
invokestatic com.google.common.hash.HashCode.fromLong:(J)Lcom/google/common/hash/HashCode;
areturn
end local 3 // int len
end local 2 // int off
end local 1 // byte[] input
end local 0 // com.google.common.hash.FarmHashFingerprint64 this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/hash/FarmHashFingerprint64;
0 2 1 input [B
0 2 2 off I
0 2 3 len I
MethodParameters:
Name Flags
input
off
len
public int bits();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.google.common.hash.FarmHashFingerprint64 this
0: .line 57
bipush 64
ireturn
end local 0 // com.google.common.hash.FarmHashFingerprint64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/hash/FarmHashFingerprint64;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.google.common.hash.FarmHashFingerprint64 this
0: .line 62
ldc "Hashing.farmHashFingerprint64()"
areturn
end local 0 // com.google.common.hash.FarmHashFingerprint64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/hash/FarmHashFingerprint64;
static long fingerprint(byte[], int, int);
descriptor: ([BII)J
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 // byte[] bytes
start local 1 // int offset
start local 2 // int length
0: .line 69
iload 2 /* length */
bipush 32
if_icmpgt 4
1: .line 70
iload 2 /* length */
bipush 16
if_icmpgt 3
2: .line 71
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
invokestatic com.google.common.hash.FarmHashFingerprint64.hashLength0to16:([BII)J
lreturn
3: .line 73
StackMap locals:
StackMap stack:
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
invokestatic com.google.common.hash.FarmHashFingerprint64.hashLength17to32:([BII)J
lreturn
4: .line 75
StackMap locals:
StackMap stack:
iload 2 /* length */
bipush 64
if_icmpgt 6
5: .line 76
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
invokestatic com.google.common.hash.FarmHashFingerprint64.hashLength33To64:([BII)J
lreturn
6: .line 78
StackMap locals:
StackMap stack:
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
invokestatic com.google.common.hash.FarmHashFingerprint64.hashLength65Plus:([BII)J
lreturn
end local 2 // int length
end local 1 // int offset
end local 0 // byte[] bytes
LocalVariableTable:
Start End Slot Name Signature
0 7 0 bytes [B
0 7 1 offset I
0 7 2 length I
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
bytes
offset
length
private static long shiftMix(long);
descriptor: (J)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 // long val
0: .line 83
lload 0 /* val */
lload 0 /* val */
bipush 47
lushr
lxor
lreturn
end local 0 // long val
LocalVariableTable:
Start End Slot Name Signature
0 1 0 val J
MethodParameters:
Name Flags
val
private static long hashLength16(long, long, long);
descriptor: (JJJ)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=3
start local 0 // long u
start local 2 // long v
start local 4 // long mul
0: .line 87
lload 0 /* u */
lload 2 /* v */
lxor
lload 4 /* mul */
lmul
lstore 6 /* a */
start local 6 // long a
1: .line 88
lload 6 /* a */
lload 6 /* a */
bipush 47
lushr
lxor
lstore 6 /* a */
2: .line 89
lload 2 /* v */
lload 6 /* a */
lxor
lload 4 /* mul */
lmul
lstore 8 /* b */
start local 8 // long b
3: .line 90
lload 8 /* b */
lload 8 /* b */
bipush 47
lushr
lxor
lstore 8 /* b */
4: .line 91
lload 8 /* b */
lload 4 /* mul */
lmul
lstore 8 /* b */
5: .line 92
lload 8 /* b */
lreturn
end local 8 // long b
end local 6 // long a
end local 4 // long mul
end local 2 // long v
end local 0 // long u
LocalVariableTable:
Start End Slot Name Signature
0 6 0 u J
0 6 2 v J
0 6 4 mul J
1 6 6 a J
3 6 8 b J
MethodParameters:
Name Flags
u
v
mul
private static void weakHashLength32WithSeeds(byte[], int, long, long, long[]);
descriptor: ([BIJJ[J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=17, args_size=5
start local 0 // byte[] bytes
start local 1 // int offset
start local 2 // long seedA
start local 4 // long seedB
start local 6 // long[] output
0: .line 102
aload 0 /* bytes */
iload 1 /* offset */
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
lstore 7 /* part1 */
start local 7 // long part1
1: .line 103
aload 0 /* bytes */
iload 1 /* offset */
bipush 8
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
lstore 9 /* part2 */
start local 9 // long part2
2: .line 104
aload 0 /* bytes */
iload 1 /* offset */
bipush 16
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
lstore 11 /* part3 */
start local 11 // long part3
3: .line 105
aload 0 /* bytes */
iload 1 /* offset */
bipush 24
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
lstore 13 /* part4 */
start local 13 // long part4
4: .line 107
lload 2 /* seedA */
lload 7 /* part1 */
ladd
lstore 2 /* seedA */
5: .line 108
lload 4 /* seedB */
lload 2 /* seedA */
ladd
lload 13 /* part4 */
ladd
bipush 21
invokestatic java.lang.Long.rotateRight:(JI)J
lstore 4 /* seedB */
6: .line 109
lload 2 /* seedA */
lstore 15 /* c */
start local 15 // long c
7: .line 110
lload 2 /* seedA */
lload 9 /* part2 */
ladd
lstore 2 /* seedA */
8: .line 111
lload 2 /* seedA */
lload 11 /* part3 */
ladd
lstore 2 /* seedA */
9: .line 112
lload 4 /* seedB */
lload 2 /* seedA */
bipush 44
invokestatic java.lang.Long.rotateRight:(JI)J
ladd
lstore 4 /* seedB */
10: .line 113
aload 6 /* output */
iconst_0
lload 2 /* seedA */
lload 13 /* part4 */
ladd
lastore
11: .line 114
aload 6 /* output */
iconst_1
lload 4 /* seedB */
lload 15 /* c */
ladd
lastore
12: .line 115
return
end local 15 // long c
end local 13 // long part4
end local 11 // long part3
end local 9 // long part2
end local 7 // long part1
end local 6 // long[] output
end local 4 // long seedB
end local 2 // long seedA
end local 1 // int offset
end local 0 // byte[] bytes
LocalVariableTable:
Start End Slot Name Signature
0 13 0 bytes [B
0 13 1 offset I
0 13 2 seedA J
0 13 4 seedB J
0 13 6 output [J
1 13 7 part1 J
2 13 9 part2 J
3 13 11 part3 J
4 13 13 part4 J
7 13 15 c J
MethodParameters:
Name Flags
bytes
offset
seedA
seedB
output
private static long hashLength0to16(byte[], int, int);
descriptor: ([BII)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=13, args_size=3
start local 0 // byte[] bytes
start local 1 // int offset
start local 2 // int length
0: .line 118
iload 2 /* length */
bipush 8
if_icmplt 7
1: .line 119
ldc -7286425919675154353
iload 2 /* length */
iconst_2
imul
i2l
ladd
lstore 3 /* mul */
start local 3 // long mul
2: .line 120
aload 0 /* bytes */
iload 1 /* offset */
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ldc -7286425919675154353
ladd
lstore 5 /* a */
start local 5 // long a
3: .line 121
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
iadd
bipush 8
isub
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
lstore 7 /* b */
start local 7 // long b
4: .line 122
lload 7 /* b */
bipush 37
invokestatic java.lang.Long.rotateRight:(JI)J
lload 3 /* mul */
lmul
lload 5 /* a */
ladd
lstore 9 /* c */
start local 9 // long c
5: .line 123
lload 5 /* a */
bipush 25
invokestatic java.lang.Long.rotateRight:(JI)J
lload 7 /* b */
ladd
lload 3 /* mul */
lmul
lstore 11 /* d */
start local 11 // long d
6: .line 124
lload 9 /* c */
lload 11 /* d */
lload 3 /* mul */
invokestatic com.google.common.hash.FarmHashFingerprint64.hashLength16:(JJJ)J
lreturn
end local 11 // long d
end local 9 // long c
end local 7 // long b
end local 5 // long a
end local 3 // long mul
7: .line 126
StackMap locals:
StackMap stack:
iload 2 /* length */
iconst_4
if_icmplt 11
8: .line 127
ldc -7286425919675154353
iload 2 /* length */
iconst_2
imul
i2l
ladd
lstore 3 /* mul */
start local 3 // long mul
9: .line 128
aload 0 /* bytes */
iload 1 /* offset */
invokestatic com.google.common.hash.LittleEndianByteArray.load32:([BI)I
i2l
ldc 4294967295
land
lstore 5 /* a */
start local 5 // long a
10: .line 129
iload 2 /* length */
i2l
lload 5 /* a */
iconst_3
lshl
ladd
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
iadd
iconst_4
isub
invokestatic com.google.common.hash.LittleEndianByteArray.load32:([BI)I
i2l
ldc 4294967295
land
lload 3 /* mul */
invokestatic com.google.common.hash.FarmHashFingerprint64.hashLength16:(JJJ)J
lreturn
end local 5 // long a
end local 3 // long mul
11: .line 131
StackMap locals:
StackMap stack:
iload 2 /* length */
ifle 18
12: .line 132
aload 0 /* bytes */
iload 1 /* offset */
baload
istore 3 /* a */
start local 3 // byte a
13: .line 133
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
iconst_1
ishr
iadd
baload
istore 4 /* b */
start local 4 // byte b
14: .line 134
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
iconst_1
isub
iadd
baload
istore 5 /* c */
start local 5 // byte c
15: .line 135
iload 3 /* a */
sipush 255
iand
iload 4 /* b */
sipush 255
iand
bipush 8
ishl
iadd
istore 6 /* y */
start local 6 // int y
16: .line 136
iload 2 /* length */
iload 5 /* c */
sipush 255
iand
iconst_2
ishl
iadd
istore 7 /* z */
start local 7 // int z
17: .line 137
iload 6 /* y */
i2l
ldc -7286425919675154353
lmul
iload 7 /* z */
i2l
ldc -4348849565147123417
lmul
lxor
invokestatic com.google.common.hash.FarmHashFingerprint64.shiftMix:(J)J
ldc -7286425919675154353
lmul
lreturn
end local 7 // int z
end local 6 // int y
end local 5 // byte c
end local 4 // byte b
end local 3 // byte a
18: .line 139
StackMap locals:
StackMap stack:
ldc -7286425919675154353
lreturn
end local 2 // int length
end local 1 // int offset
end local 0 // byte[] bytes
LocalVariableTable:
Start End Slot Name Signature
0 19 0 bytes [B
0 19 1 offset I
0 19 2 length I
2 7 3 mul J
3 7 5 a J
4 7 7 b J
5 7 9 c J
6 7 11 d J
9 11 3 mul J
10 11 5 a J
13 18 3 a B
14 18 4 b B
15 18 5 c B
16 18 6 y I
17 18 7 z I
MethodParameters:
Name Flags
bytes
offset
length
private static long hashLength17to32(byte[], int, int);
descriptor: ([BII)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=13, args_size=3
start local 0 // byte[] bytes
start local 1 // int offset
start local 2 // int length
0: .line 143
ldc -7286425919675154353
iload 2 /* length */
iconst_2
imul
i2l
ladd
lstore 3 /* mul */
start local 3 // long mul
1: .line 144
aload 0 /* bytes */
iload 1 /* offset */
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ldc -5435081209227447693
lmul
lstore 5 /* a */
start local 5 // long a
2: .line 145
aload 0 /* bytes */
iload 1 /* offset */
bipush 8
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
lstore 7 /* b */
start local 7 // long b
3: .line 146
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
iadd
bipush 8
isub
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
lload 3 /* mul */
lmul
lstore 9 /* c */
start local 9 // long c
4: .line 147
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
iadd
bipush 16
isub
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ldc -7286425919675154353
lmul
lstore 11 /* d */
start local 11 // long d
5: .line 149
lload 5 /* a */
lload 7 /* b */
ladd
bipush 43
invokestatic java.lang.Long.rotateRight:(JI)J
lload 9 /* c */
bipush 30
invokestatic java.lang.Long.rotateRight:(JI)J
ladd
lload 11 /* d */
ladd
lload 5 /* a */
lload 7 /* b */
ldc -7286425919675154353
ladd
bipush 18
invokestatic java.lang.Long.rotateRight:(JI)J
ladd
lload 9 /* c */
ladd
lload 3 /* mul */
6: .line 148
invokestatic com.google.common.hash.FarmHashFingerprint64.hashLength16:(JJJ)J
lreturn
end local 11 // long d
end local 9 // long c
end local 7 // long b
end local 5 // long a
end local 3 // long mul
end local 2 // int length
end local 1 // int offset
end local 0 // byte[] bytes
LocalVariableTable:
Start End Slot Name Signature
0 7 0 bytes [B
0 7 1 offset I
0 7 2 length I
1 7 3 mul J
2 7 5 a J
3 7 7 b J
4 7 9 c J
5 7 11 d J
MethodParameters:
Name Flags
bytes
offset
length
private static long hashLength33To64(byte[], int, int);
descriptor: ([BII)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=25, args_size=3
start local 0 // byte[] bytes
start local 1 // int offset
start local 2 // int length
0: .line 153
ldc -7286425919675154353
iload 2 /* length */
iconst_2
imul
i2l
ladd
lstore 3 /* mul */
start local 3 // long mul
1: .line 154
aload 0 /* bytes */
iload 1 /* offset */
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ldc -7286425919675154353
lmul
lstore 5 /* a */
start local 5 // long a
2: .line 155
aload 0 /* bytes */
iload 1 /* offset */
bipush 8
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
lstore 7 /* b */
start local 7 // long b
3: .line 156
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
iadd
bipush 8
isub
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
lload 3 /* mul */
lmul
lstore 9 /* c */
start local 9 // long c
4: .line 157
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
iadd
bipush 16
isub
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ldc -7286425919675154353
lmul
lstore 11 /* d */
start local 11 // long d
5: .line 158
lload 5 /* a */
lload 7 /* b */
ladd
bipush 43
invokestatic java.lang.Long.rotateRight:(JI)J
lload 9 /* c */
bipush 30
invokestatic java.lang.Long.rotateRight:(JI)J
ladd
lload 11 /* d */
ladd
lstore 13 /* y */
start local 13 // long y
6: .line 159
lload 13 /* y */
lload 5 /* a */
lload 7 /* b */
ldc -7286425919675154353
ladd
bipush 18
invokestatic java.lang.Long.rotateRight:(JI)J
ladd
lload 9 /* c */
ladd
lload 3 /* mul */
invokestatic com.google.common.hash.FarmHashFingerprint64.hashLength16:(JJJ)J
lstore 15 /* z */
start local 15 // long z
7: .line 160
aload 0 /* bytes */
iload 1 /* offset */
bipush 16
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
lload 3 /* mul */
lmul
lstore 17 /* e */
start local 17 // long e
8: .line 161
aload 0 /* bytes */
iload 1 /* offset */
bipush 24
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
lstore 19 /* f */
start local 19 // long f
9: .line 162
lload 13 /* y */
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
iadd
bipush 32
isub
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ladd
lload 3 /* mul */
lmul
lstore 21 /* g */
start local 21 // long g
10: .line 163
lload 15 /* z */
aload 0 /* bytes */
iload 1 /* offset */
iload 2 /* length */
iadd
bipush 24
isub
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ladd
lload 3 /* mul */
lmul
lstore 23 /* h */
start local 23 // long h
11: .line 165
lload 17 /* e */
lload 19 /* f */
ladd
bipush 43
invokestatic java.lang.Long.rotateRight:(JI)J
lload 21 /* g */
bipush 30
invokestatic java.lang.Long.rotateRight:(JI)J
ladd
lload 23 /* h */
ladd
lload 17 /* e */
lload 19 /* f */
lload 5 /* a */
ladd
bipush 18
invokestatic java.lang.Long.rotateRight:(JI)J
ladd
lload 21 /* g */
ladd
lload 3 /* mul */
12: .line 164
invokestatic com.google.common.hash.FarmHashFingerprint64.hashLength16:(JJJ)J
lreturn
end local 23 // long h
end local 21 // long g
end local 19 // long f
end local 17 // long e
end local 15 // long z
end local 13 // long y
end local 11 // long d
end local 9 // long c
end local 7 // long b
end local 5 // long a
end local 3 // long mul
end local 2 // int length
end local 1 // int offset
end local 0 // byte[] bytes
LocalVariableTable:
Start End Slot Name Signature
0 13 0 bytes [B
0 13 1 offset I
0 13 2 length I
1 13 3 mul J
2 13 5 a J
3 13 7 b J
4 13 9 c J
5 13 11 d J
6 13 13 y J
7 13 15 z J
8 13 17 e J
9 13 19 f J
10 13 21 g J
11 13 23 h J
MethodParameters:
Name Flags
bytes
offset
length
private static long hashLength65Plus(byte[], int, int);
descriptor: ([BII)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=15, args_size=3
start local 0 // byte[] bytes
start local 1 // int offset
start local 2 // int length
0: .line 174
ldc 81
lstore 3 /* x */
start local 3 // long x
1: .line 176
ldc 2480279821605975764
lstore 5 /* y */
start local 5 // long y
2: .line 177
lload 5 /* y */
ldc -7286425919675154353
lmul
ldc 113
ladd
invokestatic com.google.common.hash.FarmHashFingerprint64.shiftMix:(J)J
ldc -7286425919675154353
lmul
lstore 7 /* z */
start local 7 // long z
3: .line 178
iconst_2
newarray 11
astore 9 /* v */
start local 9 // long[] v
4: .line 179
iconst_2
newarray 11
astore 10 /* w */
start local 10 // long[] w
5: .line 180
lload 3 /* x */
ldc -7286425919675154353
lmul
aload 0 /* bytes */
iload 1 /* offset */
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ladd
lstore 3 /* x */
6: .line 183
iload 1 /* offset */
iload 2 /* length */
iconst_1
isub
bipush 64
idiv
bipush 64
imul
iadd
istore 11 /* end */
start local 11 // int end
7: .line 184
iload 11 /* end */
iload 2 /* length */
iconst_1
isub
bipush 63
iand
iadd
bipush 63
isub
istore 12 /* last64offset */
start local 12 // int last64offset
8: .line 186
StackMap locals: byte[] int int long long long long[] long[] int int
StackMap stack:
lload 3 /* x */
lload 5 /* y */
ladd
aload 9 /* v */
iconst_0
laload
ladd
aload 0 /* bytes */
iload 1 /* offset */
bipush 8
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ladd
bipush 37
invokestatic java.lang.Long.rotateRight:(JI)J
ldc -5435081209227447693
lmul
lstore 3 /* x */
9: .line 187
lload 5 /* y */
aload 9 /* v */
iconst_1
laload
ladd
aload 0 /* bytes */
iload 1 /* offset */
bipush 48
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ladd
bipush 42
invokestatic java.lang.Long.rotateRight:(JI)J
ldc -5435081209227447693
lmul
lstore 5 /* y */
10: .line 188
lload 3 /* x */
aload 10 /* w */
iconst_1
laload
lxor
lstore 3 /* x */
11: .line 189
lload 5 /* y */
aload 9 /* v */
iconst_0
laload
aload 0 /* bytes */
iload 1 /* offset */
bipush 40
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ladd
ladd
lstore 5 /* y */
12: .line 190
lload 7 /* z */
aload 10 /* w */
iconst_0
laload
ladd
bipush 33
invokestatic java.lang.Long.rotateRight:(JI)J
ldc -5435081209227447693
lmul
lstore 7 /* z */
13: .line 191
aload 0 /* bytes */
iload 1 /* offset */
aload 9 /* v */
iconst_1
laload
ldc -5435081209227447693
lmul
lload 3 /* x */
aload 10 /* w */
iconst_0
laload
ladd
aload 9 /* v */
invokestatic com.google.common.hash.FarmHashFingerprint64.weakHashLength32WithSeeds:([BIJJ[J)V
14: .line 192
aload 0 /* bytes */
iload 1 /* offset */
bipush 32
iadd
lload 7 /* z */
aload 10 /* w */
iconst_1
laload
ladd
lload 5 /* y */
aload 0 /* bytes */
iload 1 /* offset */
bipush 16
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ladd
aload 10 /* w */
invokestatic com.google.common.hash.FarmHashFingerprint64.weakHashLength32WithSeeds:([BIJJ[J)V
15: .line 193
lload 3 /* x */
lstore 13 /* tmp */
start local 13 // long tmp
16: .line 194
lload 7 /* z */
lstore 3 /* x */
17: .line 195
lload 13 /* tmp */
lstore 7 /* z */
18: .line 196
iinc 1 /* offset */ 64
end local 13 // long tmp
19: .line 197
iload 1 /* offset */
iload 11 /* end */
if_icmpne 8
20: .line 198
ldc -5435081209227447693
lload 7 /* z */
ldc 255
land
iconst_1
lshl
ladd
lstore 13 /* mul */
start local 13 // long mul
21: .line 200
iload 12 /* last64offset */
istore 1 /* offset */
22: .line 201
aload 10 /* w */
iconst_0
dup2
laload
iload 2 /* length */
iconst_1
isub
bipush 63
iand
i2l
ladd
lastore
23: .line 202
aload 9 /* v */
iconst_0
dup2
laload
aload 10 /* w */
iconst_0
laload
ladd
lastore
24: .line 203
aload 10 /* w */
iconst_0
dup2
laload
aload 9 /* v */
iconst_0
laload
ladd
lastore
25: .line 204
lload 3 /* x */
lload 5 /* y */
ladd
aload 9 /* v */
iconst_0
laload
ladd
aload 0 /* bytes */
iload 1 /* offset */
bipush 8
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ladd
bipush 37
invokestatic java.lang.Long.rotateRight:(JI)J
lload 13 /* mul */
lmul
lstore 3 /* x */
26: .line 205
lload 5 /* y */
aload 9 /* v */
iconst_1
laload
ladd
aload 0 /* bytes */
iload 1 /* offset */
bipush 48
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ladd
bipush 42
invokestatic java.lang.Long.rotateRight:(JI)J
lload 13 /* mul */
lmul
lstore 5 /* y */
27: .line 206
lload 3 /* x */
aload 10 /* w */
iconst_1
laload
ldc 9
lmul
lxor
lstore 3 /* x */
28: .line 207
lload 5 /* y */
aload 9 /* v */
iconst_0
laload
ldc 9
lmul
aload 0 /* bytes */
iload 1 /* offset */
bipush 40
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ladd
ladd
lstore 5 /* y */
29: .line 208
lload 7 /* z */
aload 10 /* w */
iconst_0
laload
ladd
bipush 33
invokestatic java.lang.Long.rotateRight:(JI)J
lload 13 /* mul */
lmul
lstore 7 /* z */
30: .line 209
aload 0 /* bytes */
iload 1 /* offset */
aload 9 /* v */
iconst_1
laload
lload 13 /* mul */
lmul
lload 3 /* x */
aload 10 /* w */
iconst_0
laload
ladd
aload 9 /* v */
invokestatic com.google.common.hash.FarmHashFingerprint64.weakHashLength32WithSeeds:([BIJJ[J)V
31: .line 210
aload 0 /* bytes */
iload 1 /* offset */
bipush 32
iadd
lload 7 /* z */
aload 10 /* w */
iconst_1
laload
ladd
lload 5 /* y */
aload 0 /* bytes */
iload 1 /* offset */
bipush 16
iadd
invokestatic com.google.common.hash.LittleEndianByteArray.load64:([BI)J
ladd
aload 10 /* w */
invokestatic com.google.common.hash.FarmHashFingerprint64.weakHashLength32WithSeeds:([BIJJ[J)V
32: .line 212
aload 9 /* v */
iconst_0
laload
aload 10 /* w */
iconst_0
laload
lload 13 /* mul */
invokestatic com.google.common.hash.FarmHashFingerprint64.hashLength16:(JJJ)J
lload 5 /* y */
invokestatic com.google.common.hash.FarmHashFingerprint64.shiftMix:(J)J
ldc -4348849565147123417
lmul
ladd
lload 3 /* x */
ladd
33: .line 213
aload 9 /* v */
iconst_1
laload
aload 10 /* w */
iconst_1
laload
lload 13 /* mul */
invokestatic com.google.common.hash.FarmHashFingerprint64.hashLength16:(JJJ)J
lload 7 /* z */
ladd
34: .line 214
lload 13 /* mul */
35: .line 211
invokestatic com.google.common.hash.FarmHashFingerprint64.hashLength16:(JJJ)J
lreturn
end local 13 // long mul
end local 12 // int last64offset
end local 11 // int end
end local 10 // long[] w
end local 9 // long[] v
end local 7 // long z
end local 5 // long y
end local 3 // long x
end local 2 // int length
end local 1 // int offset
end local 0 // byte[] bytes
LocalVariableTable:
Start End Slot Name Signature
0 36 0 bytes [B
0 36 1 offset I
0 36 2 length I
1 36 3 x J
2 36 5 y J
3 36 7 z J
4 36 9 v [J
5 36 10 w [J
7 36 11 end I
8 36 12 last64offset I
16 19 13 tmp J
21 36 13 mul J
MethodParameters:
Name Flags
bytes
offset
length
}
SourceFile: "FarmHashFingerprint64.java"