public final class sun.text.IntHashtable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.text.IntHashtable
super_class: java.lang.Object
{
private int defaultValue;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int primeIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final float HIGH_WATER_FACTOR;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.4
private int highWaterMark;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final float LOW_WATER_FACTOR;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.0
private int lowWaterMark;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int count;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] values;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] keyList;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private static final int EMPTY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2147483648
private static final int DELETED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2147483647
private static final int MAX_UNUSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -2147483647
private static final int[] PRIMES;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 265
bipush 28
newarray 10
dup
iconst_0
1: .line 266
bipush 17
iastore
dup
iconst_1
bipush 37
iastore
dup
iconst_2
bipush 67
iastore
dup
iconst_3
sipush 131
iastore
dup
iconst_4
sipush 257
iastore
dup
iconst_5
2: .line 267
sipush 521
iastore
dup
bipush 6
sipush 1031
iastore
dup
bipush 7
sipush 2053
iastore
dup
bipush 8
sipush 4099
iastore
dup
bipush 9
sipush 8209
iastore
dup
bipush 10
sipush 16411
iastore
dup
bipush 11
ldc 32771
iastore
dup
bipush 12
ldc 65537
iastore
dup
bipush 13
3: .line 268
ldc 131101
iastore
dup
bipush 14
ldc 262147
iastore
dup
bipush 15
ldc 524309
iastore
dup
bipush 16
ldc 1048583
iastore
dup
bipush 17
ldc 2097169
iastore
dup
bipush 18
ldc 4194319
iastore
dup
bipush 19
ldc 8388617
iastore
dup
bipush 20
ldc 16777259
iastore
dup
bipush 21
4: .line 269
ldc 33554467
iastore
dup
bipush 22
ldc 67108879
iastore
dup
bipush 23
ldc 134217757
iastore
dup
bipush 24
ldc 268435459
iastore
dup
bipush 25
ldc 536870923
iastore
dup
bipush 26
ldc 1073741827
iastore
dup
bipush 27
ldc 2147483647
iastore
5: .line 265
putstatic sun.text.IntHashtable.PRIMES:[I
6: .line 270
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // sun.text.IntHashtable this
0: .line 41
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 144
aload 0 /* this */
iconst_0
putfield sun.text.IntHashtable.defaultValue:I
2: .line 42
aload 0 /* this */
iconst_3
invokevirtual sun.text.IntHashtable.initialize:(I)V
3: .line 43
return
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/text/IntHashtable;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // sun.text.IntHashtable this
start local 1 // int initialSize
0: .line 45
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 144
aload 0 /* this */
iconst_0
putfield sun.text.IntHashtable.defaultValue:I
2: .line 46
aload 0 /* this */
iload 1 /* initialSize */
i2f
ldc 0.4
fdiv
f2i
invokestatic sun.text.IntHashtable.leastGreaterPrimeIndex:(I)I
invokevirtual sun.text.IntHashtable.initialize:(I)V
3: .line 47
return
end local 1 // int initialSize
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/text/IntHashtable;
0 4 1 initialSize I
MethodParameters:
Name Flags
initialSize
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.text.IntHashtable this
0: .line 50
aload 0 /* this */
getfield sun.text.IntHashtable.count:I
ireturn
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/text/IntHashtable;
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.text.IntHashtable this
0: .line 54
aload 0 /* this */
getfield sun.text.IntHashtable.count:I
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/text/IntHashtable;
public void put(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 // sun.text.IntHashtable this
start local 1 // int key
start local 2 // int value
0: .line 58
aload 0 /* this */
getfield sun.text.IntHashtable.count:I
aload 0 /* this */
getfield sun.text.IntHashtable.highWaterMark:I
if_icmple 2
1: .line 59
aload 0 /* this */
invokevirtual sun.text.IntHashtable.rehash:()V
2: .line 61
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* key */
invokevirtual sun.text.IntHashtable.find:(I)I
istore 3 /* index */
start local 3 // int index
3: .line 62
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
iload 3 /* index */
iaload
ldc -2147483647
if_icmpgt 6
4: .line 63
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
iload 3 /* index */
iload 1 /* key */
iastore
5: .line 64
aload 0 /* this */
dup
getfield sun.text.IntHashtable.count:I
iconst_1
iadd
putfield sun.text.IntHashtable.count:I
6: .line 66
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.text.IntHashtable.values:[I
iload 3 /* index */
iload 2 /* value */
iastore
7: .line 67
return
end local 3 // int index
end local 2 // int value
end local 1 // int key
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/text/IntHashtable;
0 8 1 key I
0 8 2 value I
3 8 3 index I
MethodParameters:
Name Flags
key
value
public int get(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // sun.text.IntHashtable this
start local 1 // int key
0: .line 70
aload 0 /* this */
getfield sun.text.IntHashtable.values:[I
aload 0 /* this */
iload 1 /* key */
invokevirtual sun.text.IntHashtable.find:(I)I
iaload
ireturn
end local 1 // int key
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/text/IntHashtable;
0 1 1 key I
MethodParameters:
Name Flags
key
public void remove(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 // sun.text.IntHashtable this
start local 1 // int key
0: .line 74
aload 0 /* this */
iload 1 /* key */
invokevirtual sun.text.IntHashtable.find:(I)I
istore 2 /* index */
start local 2 // int index
1: .line 75
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
iload 2 /* index */
iaload
ldc -2147483647
if_icmple 7
2: .line 76
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
iload 2 /* index */
ldc -2147483647
iastore
3: .line 77
aload 0 /* this */
getfield sun.text.IntHashtable.values:[I
iload 2 /* index */
aload 0 /* this */
getfield sun.text.IntHashtable.defaultValue:I
iastore
4: .line 78
aload 0 /* this */
dup
getfield sun.text.IntHashtable.count:I
iconst_1
isub
putfield sun.text.IntHashtable.count:I
5: .line 79
aload 0 /* this */
getfield sun.text.IntHashtable.count:I
aload 0 /* this */
getfield sun.text.IntHashtable.lowWaterMark:I
if_icmpge 7
6: .line 80
aload 0 /* this */
invokevirtual sun.text.IntHashtable.rehash:()V
7: .line 83
StackMap locals: int
StackMap stack:
return
end local 2 // int index
end local 1 // int key
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/text/IntHashtable;
0 8 1 key I
1 8 2 index I
MethodParameters:
Name Flags
key
public int getDefaultValue();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // sun.text.IntHashtable this
0: .line 86
aload 0 /* this */
getfield sun.text.IntHashtable.defaultValue:I
ireturn
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/text/IntHashtable;
public void setDefaultValue(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.text.IntHashtable this
start local 1 // int newValue
0: .line 90
aload 0 /* this */
iload 1 /* newValue */
putfield sun.text.IntHashtable.defaultValue:I
1: .line 91
aload 0 /* this */
invokevirtual sun.text.IntHashtable.rehash:()V
2: .line 92
return
end local 1 // int newValue
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/text/IntHashtable;
0 3 1 newValue I
MethodParameters:
Name Flags
newValue
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 // sun.text.IntHashtable this
start local 1 // java.lang.Object that
0: .line 95
aload 1 /* that */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 0 /* this */
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 1
iconst_0
ireturn
1: .line 97
StackMap locals:
StackMap stack:
aload 1 /* that */
checkcast sun.text.IntHashtable
astore 2 /* other */
start local 2 // sun.text.IntHashtable other
2: .line 98
aload 2 /* other */
invokevirtual sun.text.IntHashtable.size:()I
aload 0 /* this */
getfield sun.text.IntHashtable.count:I
if_icmpne 3
aload 2 /* other */
getfield sun.text.IntHashtable.defaultValue:I
aload 0 /* this */
getfield sun.text.IntHashtable.defaultValue:I
if_icmpeq 4
3: .line 99
StackMap locals: sun.text.IntHashtable
StackMap stack:
iconst_0
ireturn
4: .line 101
StackMap locals:
StackMap stack:
iconst_0
istore 3 /* i */
start local 3 // int i
5: goto 10
6: .line 102
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
iload 3 /* i */
iaload
istore 4 /* key */
start local 4 // int key
7: .line 103
iload 4 /* key */
ldc -2147483647
if_icmple 9
aload 2 /* other */
iload 4 /* key */
invokevirtual sun.text.IntHashtable.get:(I)I
aload 0 /* this */
getfield sun.text.IntHashtable.values:[I
iload 3 /* i */
iaload
if_icmpeq 9
8: .line 104
iconst_0
ireturn
end local 4 // int key
9: .line 101
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
10: iload 3 /* i */
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
arraylength
if_icmplt 6
end local 3 // int i
11: .line 106
iconst_1
ireturn
end local 2 // sun.text.IntHashtable other
end local 1 // java.lang.Object that
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/text/IntHashtable;
0 12 1 that Ljava/lang/Object;
2 12 2 other Lsun/text/IntHashtable;
5 11 3 i I
7 9 4 key I
MethodParameters:
Name Flags
that
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // sun.text.IntHashtable this
0: .line 119
sipush 465
istore 1 /* result */
start local 1 // int result
1: .line 120
ldc 1362796821
istore 2 /* scrambler */
start local 2 // int scrambler
2: .line 121
iconst_0
istore 3 /* i */
start local 3 // int i
3: goto 7
4: .line 125
StackMap locals: int int int
StackMap stack:
iload 1 /* result */
iload 2 /* scrambler */
imul
iconst_1
iadd
istore 1 /* result */
5: .line 126
iload 1 /* result */
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
iload 3 /* i */
iaload
iadd
istore 1 /* result */
6: .line 121
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 3 /* i */
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
arraylength
if_icmplt 4
end local 3 // int i
8: .line 128
iconst_0
istore 3 /* i */
start local 3 // int i
9: goto 13
10: .line 129
StackMap locals:
StackMap stack:
iload 1 /* result */
iload 2 /* scrambler */
imul
iconst_1
iadd
istore 1 /* result */
11: .line 130
iload 1 /* result */
aload 0 /* this */
getfield sun.text.IntHashtable.values:[I
iload 3 /* i */
iaload
iadd
istore 1 /* result */
12: .line 128
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 3 /* i */
aload 0 /* this */
getfield sun.text.IntHashtable.values:[I
arraylength
if_icmplt 10
end local 3 // int i
14: .line 132
iload 1 /* result */
ireturn
end local 2 // int scrambler
end local 1 // int result
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/text/IntHashtable;
1 15 1 result I
2 15 2 scrambler I
3 8 3 i I
9 14 3 i I
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 // sun.text.IntHashtable this
0: .line 137
aload 0 /* this */
invokespecial java.lang.Object.clone:()Ljava/lang/Object;
checkcast sun.text.IntHashtable
astore 1 /* result */
start local 1 // sun.text.IntHashtable result
1: .line 138
aload 0 /* this */
aload 0 /* this */
getfield sun.text.IntHashtable.values:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
putfield sun.text.IntHashtable.values:[I
2: .line 139
aload 0 /* this */
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
putfield sun.text.IntHashtable.keyList:[I
3: .line 140
aload 1 /* result */
areturn
end local 1 // sun.text.IntHashtable result
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/text/IntHashtable;
1 4 1 result Lsun/text/IntHashtable;
Exceptions:
throws java.lang.CloneNotSupportedException
private void initialize(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 // sun.text.IntHashtable this
start local 1 // int primeIndex
0: .line 171
iload 1 /* primeIndex */
ifge 3
1: .line 172
iconst_0
istore 1 /* primeIndex */
2: .line 173
goto 6
StackMap locals:
StackMap stack:
3: iload 1 /* primeIndex */
getstatic sun.text.IntHashtable.PRIMES:[I
arraylength
if_icmplt 6
4: .line 174
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "TOO BIG"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: .line 175
getstatic sun.text.IntHashtable.PRIMES:[I
arraylength
iconst_1
isub
istore 1 /* primeIndex */
6: .line 178
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* primeIndex */
putfield sun.text.IntHashtable.primeIndex:I
7: .line 179
getstatic sun.text.IntHashtable.PRIMES:[I
iload 1 /* primeIndex */
iaload
istore 2 /* initialSize */
start local 2 // int initialSize
8: .line 180
aload 0 /* this */
iload 2 /* initialSize */
newarray 10
putfield sun.text.IntHashtable.values:[I
9: .line 181
aload 0 /* this */
iload 2 /* initialSize */
newarray 10
putfield sun.text.IntHashtable.keyList:[I
10: .line 182
iconst_0
istore 3 /* i */
start local 3 // int i
11: goto 15
12: .line 183
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
iload 3 /* i */
ldc -2147483648
iastore
13: .line 184
aload 0 /* this */
getfield sun.text.IntHashtable.values:[I
iload 3 /* i */
aload 0 /* this */
getfield sun.text.IntHashtable.defaultValue:I
iastore
14: .line 182
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* initialSize */
if_icmplt 12
end local 3 // int i
16: .line 186
aload 0 /* this */
iconst_0
putfield sun.text.IntHashtable.count:I
17: .line 187
aload 0 /* this */
iload 2 /* initialSize */
i2f
fconst_0
fmul
f2i
putfield sun.text.IntHashtable.lowWaterMark:I
18: .line 188
aload 0 /* this */
iload 2 /* initialSize */
i2f
ldc 0.4
fmul
f2i
putfield sun.text.IntHashtable.highWaterMark:I
19: .line 189
return
end local 2 // int initialSize
end local 1 // int primeIndex
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/text/IntHashtable;
0 20 1 primeIndex I
8 20 2 initialSize I
11 16 3 i I
MethodParameters:
Name Flags
primeIndex
private void rehash();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 // sun.text.IntHashtable this
0: .line 192
aload 0 /* this */
getfield sun.text.IntHashtable.values:[I
astore 1 /* oldValues */
start local 1 // int[] oldValues
1: .line 193
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
astore 2 /* oldkeyList */
start local 2 // int[] oldkeyList
2: .line 194
aload 0 /* this */
getfield sun.text.IntHashtable.primeIndex:I
istore 3 /* newPrimeIndex */
start local 3 // int newPrimeIndex
3: .line 195
aload 0 /* this */
getfield sun.text.IntHashtable.count:I
aload 0 /* this */
getfield sun.text.IntHashtable.highWaterMark:I
if_icmple 6
4: .line 196
iinc 3 /* newPrimeIndex */ 1
5: .line 197
goto 8
StackMap locals: int[] int[] int
StackMap stack:
6: aload 0 /* this */
getfield sun.text.IntHashtable.count:I
aload 0 /* this */
getfield sun.text.IntHashtable.lowWaterMark:I
if_icmpge 8
7: .line 198
iinc 3 /* newPrimeIndex */ -2
8: .line 200
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 3 /* newPrimeIndex */
invokevirtual sun.text.IntHashtable.initialize:(I)V
9: .line 201
aload 1 /* oldValues */
arraylength
iconst_1
isub
istore 4 /* i */
start local 4 // int i
10: goto 15
11: .line 202
StackMap locals: int
StackMap stack:
aload 2 /* oldkeyList */
iload 4 /* i */
iaload
istore 5 /* key */
start local 5 // int key
12: .line 203
iload 5 /* key */
ldc -2147483647
if_icmple 14
13: .line 204
aload 0 /* this */
iload 5 /* key */
aload 1 /* oldValues */
iload 4 /* i */
iaload
invokevirtual sun.text.IntHashtable.putInternal:(II)V
end local 5 // int key
14: .line 201
StackMap locals:
StackMap stack:
iinc 4 /* i */ -1
StackMap locals:
StackMap stack:
15: iload 4 /* i */
ifge 11
end local 4 // int i
16: .line 207
return
end local 3 // int newPrimeIndex
end local 2 // int[] oldkeyList
end local 1 // int[] oldValues
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/text/IntHashtable;
1 17 1 oldValues [I
2 17 2 oldkeyList [I
3 17 3 newPrimeIndex I
10 16 4 i I
12 14 5 key I
public void putInternal(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 // sun.text.IntHashtable this
start local 1 // int key
start local 2 // int value
0: .line 210
aload 0 /* this */
iload 1 /* key */
invokevirtual sun.text.IntHashtable.find:(I)I
istore 3 /* index */
start local 3 // int index
1: .line 211
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
iload 3 /* index */
iaload
ldc -2147483647
if_icmpge 4
2: .line 212
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
iload 3 /* index */
iload 1 /* key */
iastore
3: .line 213
aload 0 /* this */
dup
getfield sun.text.IntHashtable.count:I
iconst_1
iadd
putfield sun.text.IntHashtable.count:I
4: .line 215
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.text.IntHashtable.values:[I
iload 3 /* index */
iload 2 /* value */
iastore
5: .line 216
return
end local 3 // int index
end local 2 // int value
end local 1 // int key
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/text/IntHashtable;
0 6 1 key I
0 6 2 value I
1 6 3 index I
MethodParameters:
Name Flags
key
value
private int find(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 // sun.text.IntHashtable this
start local 1 // int key
0: .line 219
iload 1 /* key */
ldc -2147483647
if_icmpgt 2
1: .line 220
new java.lang.IllegalArgumentException
dup
ldc "key can't be less than 0xFFFFFFFE"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 221
StackMap locals:
StackMap stack:
iconst_m1
istore 2 /* firstDeleted */
start local 2 // int firstDeleted
3: .line 222
iload 1 /* key */
ldc 67108864
ixor
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
arraylength
irem
istore 3 /* index */
start local 3 // int index
4: .line 223
iload 3 /* index */
ifge 5
iload 3 /* index */
ineg
istore 3 /* index */
5: .line 224
StackMap locals: int int
StackMap stack:
iconst_0
istore 4 /* jump */
start local 4 // int jump
6: .line 226
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
iload 3 /* index */
iaload
istore 5 /* tableHash */
start local 5 // int tableHash
7: .line 227
iload 5 /* tableHash */
iload 1 /* key */
if_icmpne 9
8: .line 228
iload 3 /* index */
ireturn
9: .line 229
StackMap locals: int
StackMap stack:
iload 5 /* tableHash */
ldc -2147483647
if_icmpgt 16
10: .line 231
iload 5 /* tableHash */
ldc -2147483648
if_icmpne 14
11: .line 232
iload 2 /* firstDeleted */
iflt 13
12: .line 233
iload 2 /* firstDeleted */
istore 3 /* index */
13: .line 235
StackMap locals:
StackMap stack:
iload 3 /* index */
ireturn
14: .line 236
StackMap locals:
StackMap stack:
iload 2 /* firstDeleted */
ifge 16
15: .line 237
iload 3 /* index */
istore 2 /* firstDeleted */
16: .line 239
StackMap locals:
StackMap stack:
iload 4 /* jump */
ifne 20
17: .line 240
iload 1 /* key */
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
arraylength
iconst_1
isub
irem
istore 4 /* jump */
18: .line 241
iload 4 /* jump */
ifge 19
iload 4 /* jump */
ineg
istore 4 /* jump */
19: .line 242
StackMap locals:
StackMap stack:
iinc 4 /* jump */ 1
20: .line 245
StackMap locals:
StackMap stack:
iload 3 /* index */
iload 4 /* jump */
iadd
aload 0 /* this */
getfield sun.text.IntHashtable.keyList:[I
arraylength
irem
istore 3 /* index */
21: .line 246
iload 3 /* index */
iload 2 /* firstDeleted */
if_icmpne 6
22: .line 248
iload 3 /* index */
ireturn
end local 5 // int tableHash
end local 4 // int jump
end local 3 // int index
end local 2 // int firstDeleted
end local 1 // int key
end local 0 // sun.text.IntHashtable this
LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/text/IntHashtable;
0 23 1 key I
3 23 2 firstDeleted I
4 23 3 index I
6 23 4 jump I
7 23 5 tableHash I
MethodParameters:
Name Flags
key
private static int leastGreaterPrimeIndex(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // int source
0: .line 255
iconst_0
istore 1 /* i */
start local 1 // int i
1: goto 5
2: .line 256
StackMap locals: int
StackMap stack:
iload 0 /* source */
getstatic sun.text.IntHashtable.PRIMES:[I
iload 1 /* i */
iaload
if_icmpge 4
3: .line 257
goto 6
4: .line 255
StackMap locals:
StackMap stack:
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 1 /* i */
getstatic sun.text.IntHashtable.PRIMES:[I
arraylength
if_icmplt 2
6: .line 260
StackMap locals:
StackMap stack:
iload 1 /* i */
ifne 7
iconst_0
goto 8
StackMap locals:
StackMap stack:
7: iload 1 /* i */
iconst_1
isub
StackMap locals:
StackMap stack: int
8: ireturn
end local 1 // int i
end local 0 // int source
LocalVariableTable:
Start End Slot Name Signature
0 9 0 source I
1 9 1 i I
MethodParameters:
Name Flags
source
}
SourceFile: "IntHashtable.java"