final class com.google.common.hash.SipHashFunction$SipHasher extends com.google.common.hash.AbstractStreamingHasher
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.hash.SipHashFunction$SipHasher
super_class: com.google.common.hash.AbstractStreamingHasher
{
private static final int CHUNK_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private final int c;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int d;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long v0;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long v1;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long v2;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long v3;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long b;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long finalM;
descriptor: J
flags: (0x0002) ACC_PRIVATE
void <init>(int, int, long, long);
descriptor: (IIJJ)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
bipush 8
invokespecial com.google.common.hash.AbstractStreamingHasher.<init>:(I)V
1: aload 0
ldc 8317987319222330741
putfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
2: aload 0
ldc 7237128888997146477
putfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
3: aload 0
ldc 7816392313619706465
putfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
4: aload 0
ldc 8387220255154660723
putfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
5: aload 0
lconst_0
putfield com.google.common.hash.SipHashFunction$SipHasher.b:J
6: aload 0
lconst_0
putfield com.google.common.hash.SipHashFunction$SipHasher.finalM:J
7: aload 0
iload 1
putfield com.google.common.hash.SipHashFunction$SipHasher.c:I
8: aload 0
iload 2
putfield com.google.common.hash.SipHashFunction$SipHasher.d:I
9: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
lload 3
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
10: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
lload 5
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
11: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
lload 3
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
12: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
lload 5
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
13: return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/google/common/hash/SipHashFunction$SipHasher;
0 14 1 c I
0 14 2 d I
0 14 3 k0 J
0 14 5 k1 J
MethodParameters:
Name Flags
c
d
k0
k1
protected void process(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.b:J
ldc 8
ladd
putfield com.google.common.hash.SipHashFunction$SipHasher.b:J
1: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.getLong:()J
invokevirtual com.google.common.hash.SipHashFunction$SipHasher.processM:(J)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/hash/SipHashFunction$SipHasher;
0 3 1 buffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buffer
protected void processRemaining(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.b:J
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
ladd
putfield com.google.common.hash.SipHashFunction$SipHasher.b:J
1: iconst_0
istore 2
start local 2 2: goto 5
3: StackMap locals: int
StackMap stack:
aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.finalM:J
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
i2l
ldc 255
land
iload 2
lshl
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.finalM:J
4: iinc 2 8
StackMap locals:
StackMap stack:
5: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 3
end local 2 6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/google/common/hash/SipHashFunction$SipHasher;
0 7 1 buffer Ljava/nio/ByteBuffer;
2 6 2 i I
MethodParameters:
Name Flags
buffer
public com.google.common.hash.HashCode makeHash();
descriptor: ()Lcom/google/common/hash/HashCode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.finalM:J
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.b:J
bipush 56
lshl
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.finalM:J
1: aload 0
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.finalM:J
invokevirtual com.google.common.hash.SipHashFunction$SipHasher.processM:(J)V
2: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
ldc 255
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
3: aload 0
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.d:I
invokevirtual com.google.common.hash.SipHashFunction$SipHasher.sipRound:(I)V
4: aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
lxor
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
lxor
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
lxor
invokestatic com.google.common.hash.HashCode.fromLong:(J)Lcom/google/common/hash/HashCode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/hash/SipHashFunction$SipHasher;
private void processM(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
lload 1
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
1: aload 0
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.c:I
invokevirtual com.google.common.hash.SipHashFunction$SipHasher.sipRound:(I)V
2: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
lload 1
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/hash/SipHashFunction$SipHasher;
0 4 1 m J
MethodParameters:
Name Flags
m
private void sipRound(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 17
2: StackMap locals: int
StackMap stack:
aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
ladd
putfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
3: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
ladd
putfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
4: aload 0
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
bipush 13
invokestatic java.lang.Long.rotateLeft:(JI)J
putfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
5: aload 0
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
bipush 16
invokestatic java.lang.Long.rotateLeft:(JI)J
putfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
6: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
7: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
8: aload 0
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
bipush 32
invokestatic java.lang.Long.rotateLeft:(JI)J
putfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
9: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
ladd
putfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
10: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
ladd
putfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
11: aload 0
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
bipush 17
invokestatic java.lang.Long.rotateLeft:(JI)J
putfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
12: aload 0
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
bipush 21
invokestatic java.lang.Long.rotateLeft:(JI)J
putfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
13: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.v1:J
14: aload 0
dup
getfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v0:J
lxor
putfield com.google.common.hash.SipHashFunction$SipHasher.v3:J
15: aload 0
aload 0
getfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
bipush 32
invokestatic java.lang.Long.rotateLeft:(JI)J
putfield com.google.common.hash.SipHashFunction$SipHasher.v2:J
16: iinc 2 1
StackMap locals:
StackMap stack:
17: iload 2
iload 1
if_icmplt 2
end local 2 18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/google/common/hash/SipHashFunction$SipHasher;
0 19 1 iterations I
1 18 2 i I
MethodParameters:
Name Flags
iterations
}
SourceFile: "SipHashFunction.java"
NestHost: com.google.common.hash.SipHashFunction
InnerClasses:
private final SipHasher = com.google.common.hash.SipHashFunction$SipHasher of com.google.common.hash.SipHashFunction