final class com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher extends com.google.common.hash.AbstractHasher
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher
super_class: com.google.common.hash.AbstractHasher
{
private int h1;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long buffer;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int shift;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int length;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean isDone;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.google.common.hash.AbstractHasher.<init>:()V
1: aload 0
iload 1
putfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.h1:I
2: aload 0
iconst_0
putfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.length:I
3: aload 0
iconst_0
putfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.isDone:Z
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/hash/Murmur3_32HashFunction$Murmur3_32Hasher;
0 5 1 seed I
MethodParameters:
Name Flags
seed
private void update(int, long);
descriptor: (IJ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.buffer:J
lload 2
ldc 4294967295
land
aload 0
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.shift:I
lshl
lor
putfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.buffer:J
1: aload 0
dup
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.shift:I
iload 1
bipush 8
imul
iadd
putfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.shift:I
2: aload 0
dup
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.length:I
iload 1
iadd
putfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.length:I
3: aload 0
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.shift:I
bipush 32
if_icmplt 7
4: aload 0
aload 0
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.h1:I
aload 0
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.buffer:J
l2i
invokestatic com.google.common.hash.Murmur3_32HashFunction.mixK1:(I)I
invokestatic com.google.common.hash.Murmur3_32HashFunction.mixH1:(II)I
putfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.h1:I
5: aload 0
dup
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.buffer:J
bipush 32
lushr
putfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.buffer:J
6: aload 0
dup
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.shift:I
bipush 32
isub
putfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.shift:I
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/google/common/hash/Murmur3_32HashFunction$Murmur3_32Hasher;
0 8 1 nBytes I
0 8 2 update J
MethodParameters:
Name Flags
nBytes
update
public com.google.common.hash.Hasher putByte(byte);
descriptor: (B)Lcom/google/common/hash/Hasher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
iload 1
sipush 255
iand
i2l
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.update:(IJ)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/hash/Murmur3_32HashFunction$Murmur3_32Hasher;
0 2 1 b B
MethodParameters:
Name Flags
b
public com.google.common.hash.Hasher putBytes(byte[], int, int);
descriptor: ([BII)Lcom/google/common/hash/Hasher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iload 2
iload 3
iadd
aload 1
arraylength
invokestatic com.google.common.base.Preconditions.checkPositionIndexes:(III)V
1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 0
iconst_4
aload 1
iload 2
iload 4
iadd
invokestatic com.google.common.hash.Murmur3_32HashFunction.getIntLittleEndian:([BI)I
i2l
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.update:(IJ)V
4: iinc 4 4
StackMap locals:
StackMap stack:
5: iload 4
iconst_4
iadd
iload 3
if_icmple 3
6: goto 9
7: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 4
iadd
baload
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.putByte:(B)Lcom/google/common/hash/Hasher;
pop
8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 3
if_icmplt 7
10: aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/google/common/hash/Murmur3_32HashFunction$Murmur3_32Hasher;
0 11 1 bytes [B
0 11 2 off I
0 11 3 len I
2 11 4 i I
MethodParameters:
Name Flags
bytes
off
len
public com.google.common.hash.Hasher putBytes(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Lcom/google/common/hash/Hasher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.order:()Ljava/nio/ByteOrder;
astore 2
start local 2 1: aload 1
getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
2: goto 4
3: StackMap locals: java.nio.ByteOrder
StackMap stack:
aload 0
aload 1
invokevirtual java.nio.ByteBuffer.getInt:()I
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.putInt:(I)Lcom/google/common/hash/Hasher;
pop
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_4
if_icmpge 3
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.putByte:(B)Lcom/google/common/hash/Hasher;
pop
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 6
8: aload 1
aload 2
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
9: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/common/hash/Murmur3_32HashFunction$Murmur3_32Hasher;
0 10 1 buffer Ljava/nio/ByteBuffer;
1 10 2 bo Ljava/nio/ByteOrder;
MethodParameters:
Name Flags
buffer
public com.google.common.hash.Hasher putInt(int);
descriptor: (I)Lcom/google/common/hash/Hasher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_4
iload 1
i2l
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.update:(IJ)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/hash/Murmur3_32HashFunction$Murmur3_32Hasher;
0 2 1 i I
MethodParameters:
Name Flags
i
public com.google.common.hash.Hasher putLong(long);
descriptor: (J)Lcom/google/common/hash/Hasher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_4
lload 1
l2i
i2l
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.update:(IJ)V
1: aload 0
iconst_4
lload 1
bipush 32
lushr
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.update:(IJ)V
2: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/hash/Murmur3_32HashFunction$Murmur3_32Hasher;
0 3 1 l J
MethodParameters:
Name Flags
l
public com.google.common.hash.Hasher putChar(char);
descriptor: (C)Lcom/google/common/hash/Hasher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_2
iload 1
i2l
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.update:(IJ)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/hash/Murmur3_32HashFunction$Murmur3_32Hasher;
0 2 1 c C
MethodParameters:
Name Flags
c
public com.google.common.hash.Hasher putString(java.lang.CharSequence, java.nio.charset.Charset);
descriptor: (Ljava/lang/CharSequence;Ljava/nio/charset/Charset;)Lcom/google/common/hash/Hasher;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.google.common.base.Charsets.UTF_8:Ljava/nio/charset/Charset;
aload 2
invokevirtual java.nio.charset.Charset.equals:(Ljava/lang/Object;)Z
ifeq 32
1: aload 1
invokeinterface java.lang.CharSequence.length:()I
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 11
4: StackMap locals: int int
StackMap stack:
aload 1
iload 4
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 5
start local 5 5: aload 1
iload 4
iconst_1
iadd
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 6
start local 6 6: aload 1
iload 4
iconst_2
iadd
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 7
start local 7 7: aload 1
iload 4
iconst_3
iadd
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 8
start local 8 8: iload 5
sipush 128
if_icmpge 30
iload 6
sipush 128
if_icmpge 30
iload 7
sipush 128
if_icmpge 30
iload 8
sipush 128
if_icmpge 30
9: aload 0
iconst_4
iload 5
iload 6
bipush 8
ishl
ior
iload 7
bipush 16
ishl
ior
iload 8
bipush 24
ishl
ior
i2l
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.update:(IJ)V
10: iinc 4 4
end local 8 end local 7 end local 6 end local 5 11: StackMap locals:
StackMap stack:
iload 4
iconst_4
iadd
iload 3
if_icmple 4
12: goto 30
13: StackMap locals:
StackMap stack:
aload 1
iload 4
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 5
start local 5 14: iload 5
sipush 128
if_icmpge 17
15: aload 0
iconst_1
iload 5
i2l
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.update:(IJ)V
16: goto 29
StackMap locals: int
StackMap stack:
17: iload 5
sipush 2048
if_icmpge 20
18: aload 0
iconst_2
iload 5
invokestatic com.google.common.hash.Murmur3_32HashFunction.charToTwoUtf8Bytes:(C)J
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.update:(IJ)V
19: goto 29
StackMap locals:
StackMap stack:
20: iload 5
ldc 55296
if_icmplt 21
iload 5
ldc 57343
if_icmple 23
21: StackMap locals:
StackMap stack:
aload 0
iconst_3
iload 5
invokestatic com.google.common.hash.Murmur3_32HashFunction.charToThreeUtf8Bytes:(C)J
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.update:(IJ)V
22: goto 29
23: StackMap locals:
StackMap stack:
aload 1
iload 4
invokestatic java.lang.Character.codePointAt:(Ljava/lang/CharSequence;I)I
istore 6
start local 6 24: iload 6
iload 5
if_icmpne 27
25: aload 0
aload 1
iload 4
iload 3
invokeinterface java.lang.CharSequence.subSequence:(II)Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.putBytes:([B)Lcom/google/common/hash/Hasher;
pop
26: aload 0
areturn
27: StackMap locals: int
StackMap stack:
iinc 4 1
28: aload 0
iconst_4
iload 6
invokestatic com.google.common.hash.Murmur3_32HashFunction.codePointToFourUtf8Bytes:(I)J
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.update:(IJ)V
end local 6 end local 5 29: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
30: iload 4
iload 3
if_icmplt 13
31: aload 0
areturn
end local 4 end local 3 32: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial com.google.common.hash.AbstractHasher.putString:(Ljava/lang/CharSequence;Ljava/nio/charset/Charset;)Lcom/google/common/hash/Hasher;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lcom/google/common/hash/Murmur3_32HashFunction$Murmur3_32Hasher;
0 33 1 input Ljava/lang/CharSequence;
0 33 2 charset Ljava/nio/charset/Charset;
2 32 3 utf16Length I
3 32 4 i I
5 11 5 c0 C
6 11 6 c1 C
7 11 7 c2 C
8 11 8 c3 C
14 29 5 c C
24 29 6 codePoint I
MethodParameters:
Name Flags
input
charset
public com.google.common.hash.HashCode hash();
descriptor: ()Lcom/google/common/hash/HashCode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.isDone:Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: invokestatic com.google.common.base.Preconditions.checkState:(Z)V
3: aload 0
iconst_1
putfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.isDone:Z
4: aload 0
dup
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.h1:I
aload 0
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.buffer:J
l2i
invokestatic com.google.common.hash.Murmur3_32HashFunction.mixK1:(I)I
ixor
putfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.h1:I
5: aload 0
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.h1:I
aload 0
getfield com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.length:I
invokestatic com.google.common.hash.Murmur3_32HashFunction.fmix:(II)Lcom/google/common/hash/HashCode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/hash/Murmur3_32HashFunction$Murmur3_32Hasher;
public com.google.common.hash.PrimitiveSink putBytes(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.putBytes:(Ljava/nio/ByteBuffer;)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.google.common.hash.PrimitiveSink putBytes(byte[], int, int);
descriptor: ([BII)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
iload 2
iload 3
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.putBytes:([BII)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.google.common.hash.PrimitiveSink putInt(int);
descriptor: (I)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.putInt:(I)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.google.common.hash.PrimitiveSink putByte(byte);
descriptor: (B)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.putByte:(B)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.google.common.hash.PrimitiveSink putString(java.lang.CharSequence, java.nio.charset.Charset);
descriptor: (Ljava/lang/CharSequence;Ljava/nio/charset/Charset;)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.putString:(Ljava/lang/CharSequence;Ljava/nio/charset/Charset;)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.google.common.hash.PrimitiveSink putChar(char);
descriptor: (C)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.putChar:(C)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.google.common.hash.PrimitiveSink putLong(long);
descriptor: (J)Lcom/google/common/hash/PrimitiveSink;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
0: aload 0
lload 1
invokevirtual com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher.putLong:(J)Lcom/google/common/hash/Hasher;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Murmur3_32HashFunction.java"
NestHost: com.google.common.hash.Murmur3_32HashFunction
InnerClasses:
private final Murmur3_32Hasher = com.google.common.hash.Murmur3_32HashFunction$Murmur3_32Hasher of com.google.common.hash.Murmur3_32HashFunction
RuntimeInvisibleAnnotations:
com.google.errorprone.annotations.CanIgnoreReturnValue()