public abstract class org.jcodings.util.Hash<V> implements java.lang.Iterable<V>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.jcodings.util.Hash
super_class: java.lang.Object
{
protected org.jcodings.util.Hash$HashEntry<V>[] table;
descriptor: [Lorg/jcodings/util/Hash$HashEntry;
flags: (0x0004) ACC_PROTECTED
Signature: [Lorg/jcodings/util/Hash$HashEntry<TV;>;
protected int size;
descriptor: I
flags: (0x0004) ACC_PROTECTED
private static final int[] PRIMES;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int INITIAL_CAPACITY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MAXIMUM_CAPACITY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1073741824
protected org.jcodings.util.Hash$HashEntry<V> head;
descriptor: Lorg/jcodings/util/Hash$HashEntry;
flags: (0x0004) ACC_PROTECTED
Signature: Lorg/jcodings/util/Hash$HashEntry<TV;>;
private static final int MIN_CAPA;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int HASH_SIGN_BIT_MASK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2147483647
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 29
newarray 10
dup
iconst_0
1: bipush 11
iastore
dup
iconst_1
bipush 19
iastore
dup
iconst_2
bipush 37
iastore
dup
iconst_3
bipush 67
iastore
dup
iconst_4
sipush 131
iastore
dup
iconst_5
sipush 283
iastore
dup
bipush 6
sipush 521
iastore
dup
bipush 7
sipush 1033
iastore
dup
bipush 8
sipush 2053
iastore
dup
bipush 9
sipush 4099
iastore
dup
bipush 10
2: sipush 8219
iastore
dup
bipush 11
sipush 16427
iastore
dup
bipush 12
ldc 32771
iastore
dup
bipush 13
ldc 65581
iastore
dup
bipush 14
ldc 131101
iastore
dup
bipush 15
ldc 262147
iastore
dup
bipush 16
ldc 524309
iastore
dup
bipush 17
ldc 1048583
iastore
dup
bipush 18
3: ldc 2097169
iastore
dup
bipush 19
ldc 4194319
iastore
dup
bipush 20
ldc 8388617
iastore
dup
bipush 21
ldc 16777259
iastore
dup
bipush 22
ldc 33554467
iastore
dup
bipush 23
ldc 67108879
iastore
dup
bipush 24
4: ldc 134217757
iastore
dup
bipush 25
ldc 268435459
iastore
dup
bipush 26
ldc 536870923
iastore
dup
bipush 27
ldc 1073741909
iastore
5: putstatic org.jcodings.util.Hash.PRIMES:[I
6: getstatic org.jcodings.util.Hash.PRIMES:[I
iconst_0
iaload
putstatic org.jcodings.util.Hash.INITIAL_CAPACITY:I
7: 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 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic org.jcodings.util.Hash.INITIAL_CAPACITY:I
anewarray org.jcodings.util.Hash$HashEntry
putfield org.jcodings.util.Hash.table:[Lorg/jcodings/util/Hash$HashEntry;
2: aload 0
invokevirtual org.jcodings.util.Hash.init:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jcodings/util/Hash<TV;>;
protected abstract void init();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iconst_0
istore 2
start local 2 2: bipush 8
istore 3
start local 3 3: goto 9
4: StackMap locals: org.jcodings.util.Hash int int int
StackMap stack:
iload 3
iload 1
if_icmple 8
5: aload 0
getstatic org.jcodings.util.Hash.PRIMES:[I
iload 2
iaload
anewarray org.jcodings.util.Hash$HashEntry
putfield org.jcodings.util.Hash.table:[Lorg/jcodings/util/Hash$HashEntry;
6: aload 0
invokevirtual org.jcodings.util.Hash.init:()V
7: return
8: StackMap locals:
StackMap stack:
iinc 2 1
iload 3
iconst_1
ishl
istore 3
StackMap locals:
StackMap stack:
9: iload 2
getstatic org.jcodings.util.Hash.PRIMES:[I
arraylength
if_icmplt 4
end local 3 end local 2 10: new org.jcodings.exception.InternalException
dup
ldc "run out of polynomials"
invokespecial org.jcodings.exception.InternalException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jcodings/util/Hash<TV;>;
0 11 1 size I
2 10 2 i I
3 10 3 n I
MethodParameters:
Name Flags
size
public final int size();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jcodings.util.Hash.size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcodings/util/Hash<TV;>;
protected final void checkResize();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield org.jcodings.util.Hash.size:I
aload 0
getfield org.jcodings.util.Hash.table:[Lorg/jcodings/util/Hash$HashEntry;
arraylength
if_icmpne 11
1: aload 0
getfield org.jcodings.util.Hash.table:[Lorg/jcodings/util/Hash$HashEntry;
arraylength
iconst_1
iadd
istore 1
start local 1 2: iconst_0
istore 2
start local 2 3: bipush 8
istore 3
start local 3 4: goto 9
5: StackMap locals: int int int
StackMap stack:
iload 3
iload 1
if_icmple 8
6: aload 0
getstatic org.jcodings.util.Hash.PRIMES:[I
iload 2
iaload
invokevirtual org.jcodings.util.Hash.resize:(I)V
7: return
8: StackMap locals:
StackMap stack:
iinc 2 1
iload 3
iconst_1
ishl
istore 3
StackMap locals:
StackMap stack:
9: iload 2
getstatic org.jcodings.util.Hash.PRIMES:[I
arraylength
if_icmplt 5
end local 3 end local 2 10: return
end local 1 11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/jcodings/util/Hash<TV;>;
2 11 1 forSize I
3 10 2 i I
4 10 3 newCapacity I
protected final void resize(int);
descriptor: (I)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jcodings.util.Hash.table:[Lorg/jcodings/util/Hash$HashEntry;
astore 2
start local 2 1: iload 1
anewarray org.jcodings.util.Hash$HashEntry
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 14
4: StackMap locals: org.jcodings.util.Hash$HashEntry[] org.jcodings.util.Hash$HashEntry[] int
StackMap stack:
aload 2
iload 4
aaload
astore 5
start local 5 5: aload 2
iload 4
aconst_null
aastore
6: goto 12
7: StackMap locals: org.jcodings.util.Hash$HashEntry
StackMap stack:
aload 5
getfield org.jcodings.util.Hash$HashEntry.next:Lorg/jcodings/util/Hash$HashEntry;
astore 6
start local 6 8: aload 5
getfield org.jcodings.util.Hash$HashEntry.hash:I
iload 1
invokestatic org.jcodings.util.Hash.bucketIndex:(II)I
istore 7
start local 7 9: aload 5
aload 3
iload 7
aaload
putfield org.jcodings.util.Hash$HashEntry.next:Lorg/jcodings/util/Hash$HashEntry;
10: aload 3
iload 7
aload 5
aastore
11: aload 6
astore 5
end local 7 end local 6 12: StackMap locals:
StackMap stack:
aload 5
ifnonnull 7
end local 5 13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
aload 2
arraylength
if_icmplt 4
end local 4 15: aload 0
aload 3
putfield org.jcodings.util.Hash.table:[Lorg/jcodings/util/Hash$HashEntry;
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/jcodings/util/Hash<TV;>;
0 17 1 newCapacity I
1 17 2 oldTable [Lorg/jcodings/util/Hash$HashEntry;
2 17 3 newTable [Lorg/jcodings/util/Hash$HashEntry;
3 15 4 j I
5 13 5 entry Lorg/jcodings/util/Hash$HashEntry<TV;>;
8 12 6 next Lorg/jcodings/util/Hash$HashEntry<TV;>;
9 12 7 i I
MethodParameters:
Name Flags
newCapacity
protected static int bucketIndex(int, int);
descriptor: (II)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
irem
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 h I
0 1 1 length I
MethodParameters:
Name Flags
h final
length final
protected static int hashValue(int);
descriptor: (I)I
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ldc 2147483647
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 h I
MethodParameters:
Name Flags
h
public java.util.Iterator<V> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.jcodings.util.Hash$HashIterator
dup
aload 0
invokespecial org.jcodings.util.Hash$HashIterator.<init>:(Lorg/jcodings/util/Hash;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcodings/util/Hash<TV;>;
Signature: ()Ljava/util/Iterator<TV;>;
public org.jcodings.util.Hash<V>.HashEntryIterator entryIterator();
descriptor: ()Lorg/jcodings/util/Hash$HashEntryIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.jcodings.util.Hash$HashEntryIterator
dup
aload 0
invokespecial org.jcodings.util.Hash$HashEntryIterator.<init>:(Lorg/jcodings/util/Hash;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcodings/util/Hash<TV;>;
Signature: ()Lorg/jcodings/util/Hash<TV;>.HashEntryIterator;
}
Signature: <V:Ljava/lang/Object;>Ljava/lang/Object;Ljava/lang/Iterable<TV;>;
SourceFile: "Hash.java"
NestMembers:
org.jcodings.util.Hash$HashEntry org.jcodings.util.Hash$HashEntryIterator org.jcodings.util.Hash$HashIterator
InnerClasses:
public HashEntry = org.jcodings.util.Hash$HashEntry of org.jcodings.util.Hash
public HashEntryIterator = org.jcodings.util.Hash$HashEntryIterator of org.jcodings.util.Hash
public HashIterator = org.jcodings.util.Hash$HashIterator of org.jcodings.util.Hash