public class sun.misc.Hashing
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.misc.Hashing
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 // sun.misc.Hashing this
0: .line 39
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 40
new java.lang.Error
dup
ldc "No instances"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 // sun.misc.Hashing this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/Hashing;
public static int murmur3_32(byte[]);
descriptor: ([B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 // byte[] data
0: .line 44
iconst_0
aload 0 /* data */
iconst_0
aload 0 /* data */
arraylength
invokestatic sun.misc.Hashing.murmur3_32:(I[BII)I
ireturn
end local 0 // byte[] data
LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [B
MethodParameters:
Name Flags
data
public static int murmur3_32(int, byte[]);
descriptor: (I[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // int seed
start local 1 // byte[] data
0: .line 48
iload 0 /* seed */
aload 1 /* data */
iconst_0
aload 1 /* data */
arraylength
invokestatic sun.misc.Hashing.murmur3_32:(I[BII)I
ireturn
end local 1 // byte[] data
end local 0 // int seed
LocalVariableTable:
Start End Slot Name Signature
0 1 0 seed I
0 1 1 data [B
MethodParameters:
Name Flags
seed
data
public static int murmur3_32(int, byte[], int, int);
descriptor: (I[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 // int seed
start local 1 // byte[] data
start local 2 // int offset
start local 3 // int len
0: .line 53
iload 0 /* seed */
istore 4 /* h1 */
start local 4 // int h1
1: .line 54
iload 3 /* len */
istore 5 /* count */
start local 5 // int count
2: .line 57
goto 18
3: .line 58
StackMap locals: int int
StackMap stack:
aload 1 /* data */
iload 2 /* offset */
baload
sipush 255
iand
4: .line 59
aload 1 /* data */
iload 2 /* offset */
iconst_1
iadd
baload
sipush 255
iand
bipush 8
ishl
5: .line 58
ior
6: .line 60
aload 1 /* data */
iload 2 /* offset */
iconst_2
iadd
baload
sipush 255
iand
bipush 16
ishl
7: .line 58
ior
8: .line 61
aload 1 /* data */
iload 2 /* offset */
iconst_3
iadd
baload
bipush 24
ishl
9: .line 58
ior
istore 6 /* k1 */
start local 6 // int k1
10: .line 63
iinc 5 /* count */ -4
11: .line 64
iinc 2 /* offset */ 4
12: .line 66
iload 6 /* k1 */
ldc -862048943
imul
istore 6 /* k1 */
13: .line 67
iload 6 /* k1 */
bipush 15
invokestatic java.lang.Integer.rotateLeft:(II)I
istore 6 /* k1 */
14: .line 68
iload 6 /* k1 */
ldc 461845907
imul
istore 6 /* k1 */
15: .line 70
iload 4 /* h1 */
iload 6 /* k1 */
ixor
istore 4 /* h1 */
16: .line 71
iload 4 /* h1 */
bipush 13
invokestatic java.lang.Integer.rotateLeft:(II)I
istore 4 /* h1 */
17: .line 72
iload 4 /* h1 */
iconst_5
imul
ldc -430675100
iadd
istore 4 /* h1 */
end local 6 // int k1
18: .line 57
StackMap locals:
StackMap stack:
iload 5 /* count */
iconst_4
if_icmpge 3
19: .line 77
iload 5 /* count */
ifle 29
20: .line 78
iconst_0
istore 6 /* k1 */
start local 6 // int k1
21: .line 80
iload 5 /* count */
tableswitch { // 1 - 3
1: 24
2: 23
3: 22
default: 25
}
22: .line 82
StackMap locals: int
StackMap stack:
iload 6 /* k1 */
aload 1 /* data */
iload 2 /* offset */
iconst_2
iadd
baload
sipush 255
iand
bipush 16
ishl
ixor
istore 6 /* k1 */
23: .line 85
StackMap locals:
StackMap stack:
iload 6 /* k1 */
aload 1 /* data */
iload 2 /* offset */
iconst_1
iadd
baload
sipush 255
iand
bipush 8
ishl
ixor
istore 6 /* k1 */
24: .line 88
StackMap locals:
StackMap stack:
iload 6 /* k1 */
aload 1 /* data */
iload 2 /* offset */
baload
sipush 255
iand
ixor
istore 6 /* k1 */
25: .line 91
StackMap locals:
StackMap stack:
iload 6 /* k1 */
ldc -862048943
imul
istore 6 /* k1 */
26: .line 92
iload 6 /* k1 */
bipush 15
invokestatic java.lang.Integer.rotateLeft:(II)I
istore 6 /* k1 */
27: .line 93
iload 6 /* k1 */
ldc 461845907
imul
istore 6 /* k1 */
28: .line 94
iload 4 /* h1 */
iload 6 /* k1 */
ixor
istore 4 /* h1 */
end local 6 // int k1
29: .line 100
StackMap locals:
StackMap stack:
iload 4 /* h1 */
iload 3 /* len */
ixor
istore 4 /* h1 */
30: .line 103
iload 4 /* h1 */
iload 4 /* h1 */
bipush 16
iushr
ixor
istore 4 /* h1 */
31: .line 104
iload 4 /* h1 */
ldc -2048144789
imul
istore 4 /* h1 */
32: .line 105
iload 4 /* h1 */
iload 4 /* h1 */
bipush 13
iushr
ixor
istore 4 /* h1 */
33: .line 106
iload 4 /* h1 */
ldc -1028477387
imul
istore 4 /* h1 */
34: .line 107
iload 4 /* h1 */
iload 4 /* h1 */
bipush 16
iushr
ixor
istore 4 /* h1 */
35: .line 109
iload 4 /* h1 */
ireturn
end local 5 // int count
end local 4 // int h1
end local 3 // int len
end local 2 // int offset
end local 1 // byte[] data
end local 0 // int seed
LocalVariableTable:
Start End Slot Name Signature
0 36 0 seed I
0 36 1 data [B
0 36 2 offset I
0 36 3 len I
1 36 4 h1 I
2 36 5 count I
10 18 6 k1 I
21 29 6 k1 I
MethodParameters:
Name Flags
seed
data
offset
len
public static int murmur3_32(char[]);
descriptor: ([C)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 // char[] data
0: .line 113
iconst_0
aload 0 /* data */
iconst_0
aload 0 /* data */
arraylength
invokestatic sun.misc.Hashing.murmur3_32:(I[CII)I
ireturn
end local 0 // char[] data
LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [C
MethodParameters:
Name Flags
data
public static int murmur3_32(int, char[]);
descriptor: (I[C)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // int seed
start local 1 // char[] data
0: .line 117
iload 0 /* seed */
aload 1 /* data */
iconst_0
aload 1 /* data */
arraylength
invokestatic sun.misc.Hashing.murmur3_32:(I[CII)I
ireturn
end local 1 // char[] data
end local 0 // int seed
LocalVariableTable:
Start End Slot Name Signature
0 1 0 seed I
0 1 1 data [C
MethodParameters:
Name Flags
seed
data
public static int murmur3_32(int, char[], int, int);
descriptor: (I[CII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=4
start local 0 // int seed
start local 1 // char[] data
start local 2 // int offset
start local 3 // int len
0: .line 121
iload 0 /* seed */
istore 4 /* h1 */
start local 4 // int h1
1: .line 123
iload 2 /* offset */
istore 5 /* off */
start local 5 // int off
2: .line 124
iload 3 /* len */
istore 6 /* count */
start local 6 // int count
3: .line 127
goto 12
4: .line 128
StackMap locals: int int int
StackMap stack:
aload 1 /* data */
iload 5 /* off */
iinc 5 /* off */ 1
caload
ldc 65535
iand
aload 1 /* data */
iload 5 /* off */
iinc 5 /* off */ 1
caload
bipush 16
ishl
ior
istore 7 /* k1 */
start local 7 // int k1
5: .line 130
iinc 6 /* count */ -2
6: .line 132
iload 7 /* k1 */
ldc -862048943
imul
istore 7 /* k1 */
7: .line 133
iload 7 /* k1 */
bipush 15
invokestatic java.lang.Integer.rotateLeft:(II)I
istore 7 /* k1 */
8: .line 134
iload 7 /* k1 */
ldc 461845907
imul
istore 7 /* k1 */
9: .line 136
iload 4 /* h1 */
iload 7 /* k1 */
ixor
istore 4 /* h1 */
10: .line 137
iload 4 /* h1 */
bipush 13
invokestatic java.lang.Integer.rotateLeft:(II)I
istore 4 /* h1 */
11: .line 138
iload 4 /* h1 */
iconst_5
imul
ldc -430675100
iadd
istore 4 /* h1 */
end local 7 // int k1
12: .line 127
StackMap locals:
StackMap stack:
iload 6 /* count */
iconst_2
if_icmpge 4
13: .line 143
iload 6 /* count */
ifle 19
14: .line 144
aload 1 /* data */
iload 5 /* off */
caload
istore 7 /* k1 */
start local 7 // int k1
15: .line 146
iload 7 /* k1 */
ldc -862048943
imul
istore 7 /* k1 */
16: .line 147
iload 7 /* k1 */
bipush 15
invokestatic java.lang.Integer.rotateLeft:(II)I
istore 7 /* k1 */
17: .line 148
iload 7 /* k1 */
ldc 461845907
imul
istore 7 /* k1 */
18: .line 149
iload 4 /* h1 */
iload 7 /* k1 */
ixor
istore 4 /* h1 */
end local 7 // int k1
19: .line 154
StackMap locals:
StackMap stack:
iload 4 /* h1 */
iload 3 /* len */
iconst_2
imul
ixor
istore 4 /* h1 */
20: .line 157
iload 4 /* h1 */
iload 4 /* h1 */
bipush 16
iushr
ixor
istore 4 /* h1 */
21: .line 158
iload 4 /* h1 */
ldc -2048144789
imul
istore 4 /* h1 */
22: .line 159
iload 4 /* h1 */
iload 4 /* h1 */
bipush 13
iushr
ixor
istore 4 /* h1 */
23: .line 160
iload 4 /* h1 */
ldc -1028477387
imul
istore 4 /* h1 */
24: .line 161
iload 4 /* h1 */
iload 4 /* h1 */
bipush 16
iushr
ixor
istore 4 /* h1 */
25: .line 163
iload 4 /* h1 */
ireturn
end local 6 // int count
end local 5 // int off
end local 4 // int h1
end local 3 // int len
end local 2 // int offset
end local 1 // char[] data
end local 0 // int seed
LocalVariableTable:
Start End Slot Name Signature
0 26 0 seed I
0 26 1 data [C
0 26 2 offset I
0 26 3 len I
1 26 4 h1 I
2 26 5 off I
3 26 6 count I
5 12 7 k1 I
15 19 7 k1 I
MethodParameters:
Name Flags
seed
data
offset
len
public static int murmur3_32(int[]);
descriptor: ([I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 // int[] data
0: .line 167
iconst_0
aload 0 /* data */
iconst_0
aload 0 /* data */
arraylength
invokestatic sun.misc.Hashing.murmur3_32:(I[III)I
ireturn
end local 0 // int[] data
LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [I
MethodParameters:
Name Flags
data
public static int murmur3_32(int, int[]);
descriptor: (I[I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // int seed
start local 1 // int[] data
0: .line 171
iload 0 /* seed */
aload 1 /* data */
iconst_0
aload 1 /* data */
arraylength
invokestatic sun.misc.Hashing.murmur3_32:(I[III)I
ireturn
end local 1 // int[] data
end local 0 // int seed
LocalVariableTable:
Start End Slot Name Signature
0 1 0 seed I
0 1 1 data [I
MethodParameters:
Name Flags
seed
data
public static int murmur3_32(int, int[], int, int);
descriptor: (I[III)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=4
start local 0 // int seed
start local 1 // int[] data
start local 2 // int offset
start local 3 // int len
0: .line 175
iload 0 /* seed */
istore 4 /* h1 */
start local 4 // int h1
1: .line 177
iload 2 /* offset */
istore 5 /* off */
start local 5 // int off
2: .line 178
iload 2 /* offset */
iload 3 /* len */
iadd
istore 6 /* end */
start local 6 // int end
3: .line 181
goto 11
4: .line 182
StackMap locals: int int int
StackMap stack:
aload 1 /* data */
iload 5 /* off */
iinc 5 /* off */ 1
iaload
istore 7 /* k1 */
start local 7 // int k1
5: .line 184
iload 7 /* k1 */
ldc -862048943
imul
istore 7 /* k1 */
6: .line 185
iload 7 /* k1 */
bipush 15
invokestatic java.lang.Integer.rotateLeft:(II)I
istore 7 /* k1 */
7: .line 186
iload 7 /* k1 */
ldc 461845907
imul
istore 7 /* k1 */
8: .line 188
iload 4 /* h1 */
iload 7 /* k1 */
ixor
istore 4 /* h1 */
9: .line 189
iload 4 /* h1 */
bipush 13
invokestatic java.lang.Integer.rotateLeft:(II)I
istore 4 /* h1 */
10: .line 190
iload 4 /* h1 */
iconst_5
imul
ldc -430675100
iadd
istore 4 /* h1 */
end local 7 // int k1
11: .line 181
StackMap locals:
StackMap stack:
iload 5 /* off */
iload 6 /* end */
if_icmplt 4
12: .line 197
iload 4 /* h1 */
iload 3 /* len */
iconst_4
imul
ixor
istore 4 /* h1 */
13: .line 200
iload 4 /* h1 */
iload 4 /* h1 */
bipush 16
iushr
ixor
istore 4 /* h1 */
14: .line 201
iload 4 /* h1 */
ldc -2048144789
imul
istore 4 /* h1 */
15: .line 202
iload 4 /* h1 */
iload 4 /* h1 */
bipush 13
iushr
ixor
istore 4 /* h1 */
16: .line 203
iload 4 /* h1 */
ldc -1028477387
imul
istore 4 /* h1 */
17: .line 204
iload 4 /* h1 */
iload 4 /* h1 */
bipush 16
iushr
ixor
istore 4 /* h1 */
18: .line 206
iload 4 /* h1 */
ireturn
end local 6 // int end
end local 5 // int off
end local 4 // int h1
end local 3 // int len
end local 2 // int offset
end local 1 // int[] data
end local 0 // int seed
LocalVariableTable:
Start End Slot Name Signature
0 19 0 seed I
0 19 1 data [I
0 19 2 offset I
0 19 3 len I
1 19 4 h1 I
2 19 5 off I
3 19 6 end I
5 11 7 k1 I
MethodParameters:
Name Flags
seed
data
offset
len
public static int stringHash32(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // java.lang.String string
0: .line 236
getstatic sun.misc.Hashing$Holder.LANG_ACCESS:Lsun/misc/JavaLangAccess;
aload 0 /* string */
invokeinterface sun.misc.JavaLangAccess.getStringHash32:(Ljava/lang/String;)I
ireturn
end local 0 // java.lang.String string
LocalVariableTable:
Start End Slot Name Signature
0 1 0 string Ljava/lang/String;
MethodParameters:
Name Flags
string
public static int randomHashSeed(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=1
start local 0 // java.lang.Object instance
0: .line 248
invokestatic sun.misc.VM.isBooted:()Z
ifeq 3
1: .line 249
invokestatic java.util.concurrent.ThreadLocalRandom.current:()Ljava/util/concurrent/ThreadLocalRandom;
invokevirtual java.util.concurrent.ThreadLocalRandom.nextInt:()I
istore 1 /* seed */
start local 1 // int seed
2: .line 250
goto 13
end local 1 // int seed
3: .line 253
StackMap locals:
StackMap stack:
bipush 7
newarray 10
dup
iconst_0
4: .line 254
ldc Lsun/misc/Hashing;
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
iastore
dup
iconst_1
5: .line 255
aload 0 /* instance */
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
iastore
dup
iconst_2
6: .line 256
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
iastore
dup
iconst_3
7: .line 257
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getId:()J
l2i
iastore
dup
iconst_4
8: .line 258
invokestatic java.lang.System.currentTimeMillis:()J
iconst_2
lushr
l2i
iastore
dup
iconst_5
9: .line 259
invokestatic java.lang.System.nanoTime:()J
iconst_5
lushr
l2i
iastore
dup
bipush 6
10: .line 260
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.freeMemory:()J
iconst_4
lushr
l2i
iastore
11: .line 253
astore 2 /* hashing_seed */
start local 2 // int[] hashing_seed
12: .line 263
aload 2 /* hashing_seed */
invokestatic sun.misc.Hashing.murmur3_32:([I)I
istore 1 /* seed */
end local 2 // int[] hashing_seed
start local 1 // int seed
13: .line 267
StackMap locals: int
StackMap stack:
iload 1 /* seed */
ifeq 14
iload 1 /* seed */
goto 15
StackMap locals:
StackMap stack:
14: iconst_1
StackMap locals:
StackMap stack: int
15: ireturn
end local 1 // int seed
end local 0 // java.lang.Object instance
LocalVariableTable:
Start End Slot Name Signature
0 16 0 instance Ljava/lang/Object;
2 3 1 seed I
13 16 1 seed I
12 13 2 hashing_seed [I
MethodParameters:
Name Flags
instance
}
SourceFile: "Hashing.java"
NestMembers:
sun.misc.Hashing$Holder
InnerClasses:
private Holder = sun.misc.Hashing$Holder of sun.misc.Hashing