public final class org.jcodings.util.BytesHash<V> extends org.jcodings.util.Hash<V>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.jcodings.util.BytesHash
super_class: org.jcodings.util.Hash
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.jcodings.util.Hash.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jcodings/util/BytesHash<TV;>;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokespecial org.jcodings.util.Hash.<init>:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jcodings/util/BytesHash<TV;>;
0 2 1 size I
MethodParameters:
Name Flags
size
protected void init();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new org.jcodings.util.BytesHash$BytesHashEntry
dup
invokespecial org.jcodings.util.BytesHash$BytesHashEntry.<init>:()V
putfield org.jcodings.util.BytesHash.head:Lorg/jcodings/util/Hash$HashEntry;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jcodings/util/BytesHash<TV;>;
public static int hashCode(byte[], int, int);
descriptor: ([BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: goto 3
StackMap locals: int
StackMap stack:
2: iload 3
bipush 16
ishl
iload 3
bipush 6
ishl
iadd
iload 3
isub
aload 0
iload 1
iinc 1 1
baload
iadd
istore 3
StackMap locals:
StackMap stack:
3: iload 1
iload 2
if_icmplt 2
4: iload 3
iload 3
iconst_5
ishr
iadd
istore 3
5: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 bytes [B
0 6 1 p I
0 6 2 end I
1 6 3 key I
MethodParameters:
Name Flags
bytes
p
end
public V put(byte[], );
descriptor: ([BLjava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
aload 1
arraylength
aload 2
invokevirtual org.jcodings.util.BytesHash.put:([BIILjava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcodings/util/BytesHash<TV;>;
0 1 1 bytes [B
0 1 2 value TV;
Signature: ([BTV;)TV;
MethodParameters:
Name Flags
bytes
value
public V put(byte[], int, int, );
descriptor: ([BIILjava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.jcodings.util.BytesHash.checkResize:()V
1: aload 1
iload 2
iload 3
invokestatic org.jcodings.util.BytesHash.hashCode:([BII)I
invokestatic org.jcodings.util.BytesHash.hashValue:(I)I
istore 5
start local 5 2: iload 5
aload 0
getfield org.jcodings.util.BytesHash.table:[Lorg/jcodings/util/Hash$HashEntry;
arraylength
invokestatic org.jcodings.util.BytesHash.bucketIndex:(II)I
istore 6
start local 6 3: aload 0
getfield org.jcodings.util.BytesHash.table:[Lorg/jcodings/util/Hash$HashEntry;
iload 6
aaload
checkcast org.jcodings.util.BytesHash$BytesHashEntry
astore 7
start local 7 4: goto 9
5: StackMap locals: int int org.jcodings.util.BytesHash$BytesHashEntry
StackMap stack:
aload 7
getfield org.jcodings.util.BytesHash$BytesHashEntry.hash:I
iload 5
if_icmpne 8
aload 7
aload 1
iload 2
iload 3
invokevirtual org.jcodings.util.BytesHash$BytesHashEntry.equals:([BII)Z
ifeq 8
6: aload 7
aload 4
putfield org.jcodings.util.BytesHash$BytesHashEntry.value:Ljava/lang/Object;
7: aload 4
areturn
8: StackMap locals:
StackMap stack:
aload 7
getfield org.jcodings.util.BytesHash$BytesHashEntry.next:Lorg/jcodings/util/Hash$HashEntry;
checkcast org.jcodings.util.BytesHash$BytesHashEntry
astore 7
StackMap locals:
StackMap stack:
9: aload 7
ifnonnull 5
end local 7 10: aload 0
getfield org.jcodings.util.BytesHash.table:[Lorg/jcodings/util/Hash$HashEntry;
iload 6
new org.jcodings.util.BytesHash$BytesHashEntry
dup
iload 5
aload 0
getfield org.jcodings.util.BytesHash.table:[Lorg/jcodings/util/Hash$HashEntry;
iload 6
aaload
aload 4
aload 1
iload 2
iload 3
aload 0
getfield org.jcodings.util.BytesHash.head:Lorg/jcodings/util/Hash$HashEntry;
invokespecial org.jcodings.util.BytesHash$BytesHashEntry.<init>:(ILorg/jcodings/util/Hash$HashEntry;Ljava/lang/Object;[BIILorg/jcodings/util/Hash$HashEntry;)V
aastore
11: aload 0
dup
getfield org.jcodings.util.BytesHash.size:I
iconst_1
iadd
putfield org.jcodings.util.BytesHash.size:I
12: aconst_null
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/jcodings/util/BytesHash<TV;>;
0 13 1 bytes [B
0 13 2 p I
0 13 3 end I
0 13 4 value TV;
2 13 5 hash I
3 13 6 i I
4 10 7 entry Lorg/jcodings/util/BytesHash$BytesHashEntry<TV;>;
Signature: ([BIITV;)TV;
MethodParameters:
Name Flags
bytes
p
end
value
public void putDirect(byte[], );
descriptor: ([BLjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
aload 1
arraylength
aload 2
invokevirtual org.jcodings.util.BytesHash.putDirect:([BIILjava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jcodings/util/BytesHash<TV;>;
0 2 1 bytes [B
0 2 2 value TV;
Signature: ([BTV;)V
MethodParameters:
Name Flags
bytes
value
public void putDirect(byte[], int, int, );
descriptor: ([BIILjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual org.jcodings.util.BytesHash.checkResize:()V
1: aload 1
iload 2
iload 3
invokestatic org.jcodings.util.BytesHash.hashCode:([BII)I
invokestatic org.jcodings.util.BytesHash.hashValue:(I)I
istore 5
start local 5 2: iload 5
aload 0
getfield org.jcodings.util.BytesHash.table:[Lorg/jcodings/util/Hash$HashEntry;
arraylength
invokestatic org.jcodings.util.BytesHash.bucketIndex:(II)I
istore 6
start local 6 3: aload 0
getfield org.jcodings.util.BytesHash.table:[Lorg/jcodings/util/Hash$HashEntry;
iload 6
new org.jcodings.util.BytesHash$BytesHashEntry
dup
iload 5
aload 0
getfield org.jcodings.util.BytesHash.table:[Lorg/jcodings/util/Hash$HashEntry;
iload 6
aaload
aload 4
aload 1
iload 2
iload 3
aload 0
getfield org.jcodings.util.BytesHash.head:Lorg/jcodings/util/Hash$HashEntry;
invokespecial org.jcodings.util.BytesHash$BytesHashEntry.<init>:(ILorg/jcodings/util/Hash$HashEntry;Ljava/lang/Object;[BIILorg/jcodings/util/Hash$HashEntry;)V
aastore
4: aload 0
dup
getfield org.jcodings.util.BytesHash.size:I
iconst_1
iadd
putfield org.jcodings.util.BytesHash.size:I
5: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jcodings/util/BytesHash<TV;>;
0 6 1 bytes [B
0 6 2 p I
0 6 3 end I
0 6 4 value TV;
2 6 5 hash I
3 6 6 i I
Signature: ([BIITV;)V
MethodParameters:
Name Flags
bytes
p
end
value
public V get();
descriptor: ([B)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual org.jcodings.util.BytesHash.get:([BII)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcodings/util/BytesHash<TV;>;
0 1 1 bytes [B
Signature: ([B)TV;
MethodParameters:
Name Flags
bytes
public V get(byte[], int, );
descriptor: ([BII)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 2
iload 3
invokestatic org.jcodings.util.BytesHash.hashCode:([BII)I
invokestatic org.jcodings.util.BytesHash.hashValue:(I)I
istore 4
start local 4 1: aload 0
getfield org.jcodings.util.BytesHash.table:[Lorg/jcodings/util/Hash$HashEntry;
iload 4
aload 0
getfield org.jcodings.util.BytesHash.table:[Lorg/jcodings/util/Hash$HashEntry;
arraylength
invokestatic org.jcodings.util.BytesHash.bucketIndex:(II)I
aaload
checkcast org.jcodings.util.BytesHash$BytesHashEntry
astore 5
start local 5 2: goto 5
3: StackMap locals: int org.jcodings.util.BytesHash$BytesHashEntry
StackMap stack:
aload 5
getfield org.jcodings.util.BytesHash$BytesHashEntry.hash:I
iload 4
if_icmpne 4
aload 5
aload 1
iload 2
iload 3
invokevirtual org.jcodings.util.BytesHash$BytesHashEntry.equals:([BII)Z
ifeq 4
aload 5
getfield org.jcodings.util.BytesHash$BytesHashEntry.value:Ljava/lang/Object;
areturn
4: StackMap locals:
StackMap stack:
aload 5
getfield org.jcodings.util.BytesHash$BytesHashEntry.next:Lorg/jcodings/util/Hash$HashEntry;
checkcast org.jcodings.util.BytesHash$BytesHashEntry
astore 5
StackMap locals:
StackMap stack:
5: aload 5
ifnonnull 3
end local 5 6: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jcodings/util/BytesHash<TV;>;
0 7 1 bytes [B
0 7 2 p I
0 7 3 end I
1 7 4 hash I
2 6 5 entry Lorg/jcodings/util/BytesHash$BytesHashEntry<TV;>;
Signature: ([BII)TV;
MethodParameters:
Name Flags
bytes
p
end
public V delete();
descriptor: ([B)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual org.jcodings.util.BytesHash.delete:([BII)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jcodings/util/BytesHash<TV;>;
0 1 1 bytes [B
Signature: ([B)TV;
MethodParameters:
Name Flags
bytes
public V delete(byte[], int, );
descriptor: ([BII)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 2
iload 3
invokestatic org.jcodings.util.BytesHash.hashCode:([BII)I
invokestatic org.jcodings.util.BytesHash.hashValue:(I)I
istore 4
start local 4 1: iload 4
aload 0
getfield org.jcodings.util.BytesHash.table:[Lorg/jcodings/util/Hash$HashEntry;
arraylength
invokestatic org.jcodings.util.BytesHash.bucketIndex:(II)I
istore 5
start local 5 2: aload 0
getfield org.jcodings.util.BytesHash.table:[Lorg/jcodings/util/Hash$HashEntry;
iload 5
aaload
checkcast org.jcodings.util.BytesHash$BytesHashEntry
astore 6
start local 6 3: aload 6
ifnonnull 4
aconst_null
areturn
4: StackMap locals: int int org.jcodings.util.BytesHash$BytesHashEntry
StackMap stack:
aload 6
getfield org.jcodings.util.BytesHash$BytesHashEntry.hash:I
iload 4
if_icmpne 16
aload 6
aload 1
iload 2
iload 3
invokevirtual org.jcodings.util.BytesHash$BytesHashEntry.equals:([BII)Z
ifeq 16
5: aload 0
getfield org.jcodings.util.BytesHash.table:[Lorg/jcodings/util/Hash$HashEntry;
iload 5
aload 6
getfield org.jcodings.util.BytesHash$BytesHashEntry.next:Lorg/jcodings/util/Hash$HashEntry;
aastore
6: aload 0
dup
getfield org.jcodings.util.BytesHash.size:I
iconst_1
isub
putfield org.jcodings.util.BytesHash.size:I
7: aload 6
invokevirtual org.jcodings.util.BytesHash$BytesHashEntry.remove:()V
8: aload 6
getfield org.jcodings.util.BytesHash$BytesHashEntry.value:Ljava/lang/Object;
areturn
9: StackMap locals:
StackMap stack:
aload 6
getfield org.jcodings.util.BytesHash$BytesHashEntry.next:Lorg/jcodings/util/Hash$HashEntry;
astore 7
start local 7 10: aload 7
getfield org.jcodings.util.Hash$HashEntry.hash:I
iload 4
if_icmpne 15
aload 6
aload 1
iload 2
iload 3
invokevirtual org.jcodings.util.BytesHash$BytesHashEntry.equals:([BII)Z
ifeq 15
11: aload 6
aload 6
getfield org.jcodings.util.BytesHash$BytesHashEntry.next:Lorg/jcodings/util/Hash$HashEntry;
getfield org.jcodings.util.Hash$HashEntry.next:Lorg/jcodings/util/Hash$HashEntry;
putfield org.jcodings.util.BytesHash$BytesHashEntry.next:Lorg/jcodings/util/Hash$HashEntry;
12: aload 0
dup
getfield org.jcodings.util.BytesHash.size:I
iconst_1
isub
putfield org.jcodings.util.BytesHash.size:I
13: aload 7
invokevirtual org.jcodings.util.Hash$HashEntry.remove:()V
14: aload 7
getfield org.jcodings.util.Hash$HashEntry.value:Ljava/lang/Object;
areturn
end local 7 15: StackMap locals:
StackMap stack:
aload 6
getfield org.jcodings.util.BytesHash$BytesHashEntry.next:Lorg/jcodings/util/Hash$HashEntry;
checkcast org.jcodings.util.BytesHash$BytesHashEntry
astore 6
StackMap locals:
StackMap stack:
16: aload 6
getfield org.jcodings.util.BytesHash$BytesHashEntry.next:Lorg/jcodings/util/Hash$HashEntry;
ifnonnull 9
17: aconst_null
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/jcodings/util/BytesHash<TV;>;
0 18 1 bytes [B
0 18 2 p I
0 18 3 end I
1 18 4 hash I
2 18 5 i I
3 18 6 entry Lorg/jcodings/util/BytesHash$BytesHashEntry<TV;>;
10 15 7 tmp Lorg/jcodings/util/Hash$HashEntry<TV;>;
Signature: ([BII)TV;
MethodParameters:
Name Flags
bytes
p
end
}
Signature: <V:Ljava/lang/Object;>Lorg/jcodings/util/Hash<TV;>;
SourceFile: "BytesHash.java"
NestMembers:
org.jcodings.util.BytesHash$BytesHashEntry
InnerClasses:
public final BytesHashEntry = org.jcodings.util.BytesHash$BytesHashEntry of org.jcodings.util.BytesHash
public HashEntry = org.jcodings.util.Hash$HashEntry of org.jcodings.util.Hash