public class com.caucho.hessian.util.IntMap
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.caucho.hessian.util.IntMap
super_class: java.lang.Object
{
public static final int NULL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -559038737
private java.lang.Object[] _keys;
descriptor: [Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private int[] _values;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int _size;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int _prime;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public static final int[] PRIMES;
descriptor: [I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 226
bipush 29
newarray 10
dup
iconst_0
1: .line 227
iconst_1
iastore
dup
iconst_1
2: .line 228
iconst_2
iastore
dup
iconst_2
3: .line 229
iconst_3
iastore
dup
iconst_3
4: .line 230
bipush 7
iastore
dup
iconst_4
5: .line 231
bipush 13
iastore
dup
iconst_5
6: .line 232
bipush 31
iastore
dup
bipush 6
7: .line 233
bipush 61
iastore
dup
bipush 7
8: .line 234
bipush 127
iastore
dup
bipush 8
9: .line 235
sipush 251
iastore
dup
bipush 9
10: .line 236
sipush 509
iastore
dup
bipush 10
11: .line 237
sipush 1021
iastore
dup
bipush 11
12: .line 238
sipush 2039
iastore
dup
bipush 12
13: .line 239
sipush 4093
iastore
dup
bipush 13
14: .line 240
sipush 8191
iastore
dup
bipush 14
15: .line 241
sipush 16381
iastore
dup
bipush 15
16: .line 242
sipush 32749
iastore
dup
bipush 16
17: .line 243
ldc 65521
iastore
dup
bipush 17
18: .line 244
ldc 131071
iastore
dup
bipush 18
19: .line 245
ldc 262139
iastore
dup
bipush 19
20: .line 246
ldc 524287
iastore
dup
bipush 20
21: .line 247
ldc 1048573
iastore
dup
bipush 21
22: .line 248
ldc 2097143
iastore
dup
bipush 22
23: .line 249
ldc 4194301
iastore
dup
bipush 23
24: .line 250
ldc 8388593
iastore
dup
bipush 24
25: .line 251
ldc 16777213
iastore
dup
bipush 25
26: .line 252
ldc 33554393
iastore
dup
bipush 26
27: .line 253
ldc 67108859
iastore
dup
bipush 27
28: .line 254
ldc 134217689
iastore
dup
bipush 28
29: .line 255
ldc 268435399
iastore
30: .line 225
putstatic com.caucho.hessian.util.IntMap.PRIMES:[I
31: .line 256
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 // com.caucho.hessian.util.IntMap this
0: .line 74
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 76
sipush 1024
istore 1 /* capacity */
start local 1 // int capacity
2: .line 78
aload 0 /* this */
iload 1 /* capacity */
anewarray java.lang.Object
putfield com.caucho.hessian.util.IntMap._keys:[Ljava/lang/Object;
3: .line 79
aload 0 /* this */
iload 1 /* capacity */
newarray 10
putfield com.caucho.hessian.util.IntMap._values:[I
4: .line 81
aload 0 /* this */
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._keys:[Ljava/lang/Object;
arraylength
invokestatic com.caucho.hessian.util.IntMap.getBiggestPrime:(I)I
putfield com.caucho.hessian.util.IntMap._prime:I
5: .line 82
aload 0 /* this */
iconst_0
putfield com.caucho.hessian.util.IntMap._size:I
6: .line 83
return
end local 1 // int capacity
end local 0 // com.caucho.hessian.util.IntMap this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/caucho/hessian/util/IntMap;
2 7 1 capacity I
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // com.caucho.hessian.util.IntMap this
0: .line 90
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._keys:[Ljava/lang/Object;
astore 1 /* keys */
start local 1 // java.lang.Object[] keys
1: .line 91
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._values:[I
astore 2 /* values */
start local 2 // int[] values
2: .line 93
aload 1 /* keys */
arraylength
iconst_1
isub
istore 3 /* i */
start local 3 // int i
3: goto 7
4: .line 94
StackMap locals: java.lang.Object[] int[] int
StackMap stack:
aload 1 /* keys */
iload 3 /* i */
aconst_null
aastore
5: .line 95
aload 2 /* values */
iload 3 /* i */
iconst_0
iastore
6: .line 93
iinc 3 /* i */ -1
StackMap locals:
StackMap stack:
7: iload 3 /* i */
ifge 4
end local 3 // int i
8: .line 98
aload 0 /* this */
iconst_0
putfield com.caucho.hessian.util.IntMap._size:I
9: .line 99
return
end local 2 // int[] values
end local 1 // java.lang.Object[] keys
end local 0 // com.caucho.hessian.util.IntMap this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/caucho/hessian/util/IntMap;
1 10 1 keys [Ljava/lang/Object;
2 10 2 values [I
3 8 3 i I
public final int size();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 // com.caucho.hessian.util.IntMap this
0: .line 105
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._size:I
ireturn
end local 0 // com.caucho.hessian.util.IntMap this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/caucho/hessian/util/IntMap;
public final int get(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=6, args_size=2
start local 0 // com.caucho.hessian.util.IntMap this
start local 1 // java.lang.Object key
0: .line 113
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._prime:I
istore 2 /* prime */
start local 2 // int prime
1: .line 114
aload 0 /* this */
aload 1 /* key */
invokevirtual com.caucho.hessian.util.IntMap.hashCode:(Ljava/lang/Object;)I
iload 2 /* prime */
irem
istore 3 /* hash */
start local 3 // int hash
2: .line 117
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._keys:[Ljava/lang/Object;
astore 4 /* keys */
start local 4 // java.lang.Object[] keys
3: .line 120
StackMap locals: int int java.lang.Object[]
StackMap stack:
aload 4 /* keys */
iload 3 /* hash */
aaload
astore 5 /* mapKey */
start local 5 // java.lang.Object mapKey
4: .line 122
aload 5 /* mapKey */
ifnonnull 6
5: .line 123
ldc -559038737
ireturn
6: .line 124
StackMap locals: java.lang.Object
StackMap stack:
aload 5 /* mapKey */
aload 1 /* key */
if_acmpne 8
7: .line 125
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._values:[I
iload 3 /* hash */
iaload
ireturn
8: .line 127
StackMap locals:
StackMap stack:
iload 3 /* hash */
iconst_1
iadd
iload 2 /* prime */
irem
istore 3 /* hash */
end local 5 // java.lang.Object mapKey
9: .line 119
goto 3
end local 4 // java.lang.Object[] keys
end local 3 // int hash
end local 2 // int prime
end local 1 // java.lang.Object key
end local 0 // com.caucho.hessian.util.IntMap this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/caucho/hessian/util/IntMap;
0 10 1 key Ljava/lang/Object;
1 10 2 prime I
2 10 3 hash I
3 10 4 keys [Ljava/lang/Object;
4 9 5 mapKey Ljava/lang/Object;
MethodParameters:
Name Flags
key
public final int put(java.lang.Object, int, boolean);
descriptor: (Ljava/lang/Object;IZ)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=9, args_size=4
start local 0 // com.caucho.hessian.util.IntMap this
start local 1 // java.lang.Object key
start local 2 // int value
start local 3 // boolean isReplace
0: .line 136
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._prime:I
istore 4 /* prime */
start local 4 // int prime
1: .line 137
aload 0 /* this */
aload 1 /* key */
invokevirtual com.caucho.hessian.util.IntMap.hashCode:(Ljava/lang/Object;)I
iload 4 /* prime */
irem
istore 5 /* hash */
start local 5 // int hash
2: .line 140
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._keys:[Ljava/lang/Object;
astore 6 /* keys */
start local 6 // java.lang.Object[] keys
3: .line 143
StackMap locals: int int java.lang.Object[]
StackMap stack:
aload 6 /* keys */
iload 5 /* hash */
aaload
astore 7 /* testKey */
start local 7 // java.lang.Object testKey
4: .line 145
aload 7 /* testKey */
ifnonnull 11
5: .line 146
aload 6 /* keys */
iload 5 /* hash */
aload 1 /* key */
aastore
6: .line 147
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._values:[I
iload 5 /* hash */
iload 2 /* value */
iastore
7: .line 149
aload 0 /* this */
dup
getfield com.caucho.hessian.util.IntMap._size:I
iconst_1
iadd
putfield com.caucho.hessian.util.IntMap._size:I
8: .line 151
aload 6 /* keys */
arraylength
iconst_4
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._size:I
imul
if_icmpgt 10
9: .line 152
aload 0 /* this */
iconst_4
aload 6 /* keys */
arraylength
imul
invokevirtual com.caucho.hessian.util.IntMap.resize:(I)V
10: .line 154
StackMap locals: java.lang.Object
StackMap stack:
ldc -559038737
ireturn
11: .line 156
StackMap locals:
StackMap stack:
aload 1 /* key */
aload 7 /* testKey */
if_acmpeq 14
12: .line 157
iload 5 /* hash */
iconst_1
iadd
iload 4 /* prime */
irem
istore 5 /* hash */
13: .line 159
goto 3
14: .line 161
StackMap locals:
StackMap stack:
iload 3 /* isReplace */
ifeq 18
15: .line 162
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._values:[I
iload 5 /* hash */
iaload
istore 8 /* old */
start local 8 // int old
16: .line 164
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._values:[I
iload 5 /* hash */
iload 2 /* value */
iastore
17: .line 166
iload 8 /* old */
ireturn
end local 8 // int old
18: .line 169
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._values:[I
iload 5 /* hash */
iaload
ireturn
end local 7 // java.lang.Object testKey
end local 6 // java.lang.Object[] keys
end local 5 // int hash
end local 4 // int prime
end local 3 // boolean isReplace
end local 2 // int value
end local 1 // java.lang.Object key
end local 0 // com.caucho.hessian.util.IntMap this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/caucho/hessian/util/IntMap;
0 19 1 key Ljava/lang/Object;
0 19 2 value I
0 19 3 isReplace Z
1 19 4 prime I
2 19 5 hash I
3 19 6 keys [Ljava/lang/Object;
4 19 7 testKey Ljava/lang/Object;
16 18 8 old I
MethodParameters:
Name Flags
key
value
isReplace
private void resize(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 // com.caucho.hessian.util.IntMap this
start local 1 // int newSize
0: .line 179
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._keys:[Ljava/lang/Object;
astore 2 /* keys */
start local 2 // java.lang.Object[] keys
1: .line 180
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._values:[I
astore 3 /* values */
start local 3 // int[] values
2: .line 182
aload 0 /* this */
iload 1 /* newSize */
anewarray java.lang.Object
putfield com.caucho.hessian.util.IntMap._keys:[Ljava/lang/Object;
3: .line 183
aload 0 /* this */
iload 1 /* newSize */
newarray 10
putfield com.caucho.hessian.util.IntMap._values:[I
4: .line 184
aload 0 /* this */
iconst_0
putfield com.caucho.hessian.util.IntMap._size:I
5: .line 186
aload 0 /* this */
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._keys:[Ljava/lang/Object;
arraylength
invokestatic com.caucho.hessian.util.IntMap.getBiggestPrime:(I)I
putfield com.caucho.hessian.util.IntMap._prime:I
6: .line 188
aload 2 /* keys */
arraylength
iconst_1
isub
istore 4 /* i */
start local 4 // int i
7: goto 12
8: .line 189
StackMap locals: java.lang.Object[] int[] int
StackMap stack:
aload 2 /* keys */
iload 4 /* i */
aaload
astore 5 /* key */
start local 5 // java.lang.Object key
9: .line 191
aload 5 /* key */
ifnull 11
10: .line 192
aload 0 /* this */
aload 5 /* key */
aload 3 /* values */
iload 4 /* i */
iaload
iconst_1
invokevirtual com.caucho.hessian.util.IntMap.put:(Ljava/lang/Object;IZ)I
pop
end local 5 // java.lang.Object key
11: .line 188
StackMap locals:
StackMap stack:
iinc 4 /* i */ -1
StackMap locals:
StackMap stack:
12: iload 4 /* i */
ifge 8
end local 4 // int i
13: .line 195
return
end local 3 // int[] values
end local 2 // java.lang.Object[] keys
end local 1 // int newSize
end local 0 // com.caucho.hessian.util.IntMap this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/caucho/hessian/util/IntMap;
0 14 1 newSize I
1 14 2 keys [Ljava/lang/Object;
2 14 3 values [I
7 13 4 i I
9 11 5 key Ljava/lang/Object;
MethodParameters:
Name Flags
newSize
protected int hashCode(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 // com.caucho.hessian.util.IntMap this
start local 1 // java.lang.Object value
0: .line 199
aload 1 /* value */
invokevirtual java.lang.Object.hashCode:()I
ireturn
end local 1 // java.lang.Object value
end local 0 // com.caucho.hessian.util.IntMap this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/caucho/hessian/util/IntMap;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // com.caucho.hessian.util.IntMap this
0: .line 204
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1 /* sbuf */
start local 1 // java.lang.StringBuffer sbuf
1: .line 206
aload 1 /* sbuf */
ldc "IntMap["
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
2: .line 207
iconst_1
istore 2 /* isFirst */
start local 2 // boolean isFirst
3: .line 209
iconst_0
istore 3 /* i */
start local 3 // int i
4: goto 13
5: .line 210
StackMap locals: java.lang.StringBuffer int int
StackMap stack:
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._keys:[Ljava/lang/Object;
iload 3 /* i */
aaload
ifnull 12
6: .line 211
iload 2 /* isFirst */
ifne 8
7: .line 212
aload 1 /* sbuf */
ldc ", "
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
8: .line 214
StackMap locals:
StackMap stack:
iconst_0
istore 2 /* isFirst */
9: .line 215
aload 1 /* sbuf */
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._keys:[Ljava/lang/Object;
iload 3 /* i */
aaload
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
pop
10: .line 216
aload 1 /* sbuf */
ldc ":"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
11: .line 217
aload 1 /* sbuf */
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._values:[I
iload 3 /* i */
iaload
invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
pop
12: .line 209
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 3 /* i */
aload 0 /* this */
getfield com.caucho.hessian.util.IntMap._keys:[Ljava/lang/Object;
arraylength
if_icmple 5
end local 3 // int i
14: .line 220
aload 1 /* sbuf */
ldc "]"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
15: .line 222
aload 1 /* sbuf */
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 // boolean isFirst
end local 1 // java.lang.StringBuffer sbuf
end local 0 // com.caucho.hessian.util.IntMap this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/caucho/hessian/util/IntMap;
1 16 1 sbuf Ljava/lang/StringBuffer;
3 16 2 isFirst Z
4 14 3 i I
public static int getBiggestPrime(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 // int value
0: .line 260
getstatic com.caucho.hessian.util.IntMap.PRIMES:[I
arraylength
iconst_1
isub
istore 1 /* i */
start local 1 // int i
1: goto 5
2: .line 261
StackMap locals: int
StackMap stack:
getstatic com.caucho.hessian.util.IntMap.PRIMES:[I
iload 1 /* i */
iaload
iload 0 /* value */
if_icmpgt 4
3: .line 262
getstatic com.caucho.hessian.util.IntMap.PRIMES:[I
iload 1 /* i */
iaload
ireturn
4: .line 260
StackMap locals:
StackMap stack:
iinc 1 /* i */ -1
StackMap locals:
StackMap stack:
5: iload 1 /* i */
ifge 2
end local 1 // int i
6: .line 265
iconst_2
ireturn
end local 0 // int value
LocalVariableTable:
Start End Slot Name Signature
0 7 0 value I
1 6 1 i I
MethodParameters:
Name Flags
value
}
SourceFile: "IntMap.java"