abstract class at.yawk.numaec.LinearHashTable implements java.lang.AutoCloseable
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: at.yawk.numaec.LinearHashTable
super_class: java.lang.Object
{
private static final long NULL;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private final int bucketSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int pointerSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long maxBucket;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int entrySize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int maxBucketEntryCount;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int bucketEntryCountBytes;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final at.yawk.numaec.PageAllocator allocator;
descriptor: Lat/yawk/numaec/PageAllocator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final at.yawk.numaec.LargeByteBuffer buf;
descriptor: Lat/yawk/numaec/LargeByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.eclipse.collections.api.list.primitive.MutableLongList mainBuckets;
descriptor: Lorg/eclipse/collections/api/list/primitive/MutableLongList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<at.yawk.numaec.LinearHashTable$Cursor> reuseCursor;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lat/yawk/numaec/LinearHashTable$Cursor;>;
private int splitIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lowDepth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(at.yawk.numaec.LargeByteBufferAllocator, at.yawk.numaec.LinearHashMapConfig, int);
descriptor: (Lat/yawk/numaec/LargeByteBufferAllocator;Lat/yawk/numaec/LinearHashMapConfig;I)V
flags: (0x0000)
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic org.eclipse.collections.impl.factory.primitive.LongLists.mutable:Lorg/eclipse/collections/api/factory/list/primitive/MutableLongListFactory;
invokeinterface org.eclipse.collections.api.factory.list.primitive.MutableLongListFactory.empty:()Lorg/eclipse/collections/api/list/primitive/MutableLongList;
putfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
2: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield at.yawk.numaec.LinearHashTable.reuseCursor:Ljava/util/concurrent/atomic/AtomicReference;
3: aload 0
iconst_0
putfield at.yawk.numaec.LinearHashTable.splitIndex:I
4: aload 0
iconst_0
putfield at.yawk.numaec.LinearHashTable.lowDepth:I
5: aload 0
new at.yawk.numaec.PageAllocator
dup
aload 1
aload 2
getfield at.yawk.numaec.LinearHashMapConfig.regionSize:I
aload 2
getfield at.yawk.numaec.LinearHashMapConfig.bucketSize:I
invokespecial at.yawk.numaec.PageAllocator.<init>:(Lat/yawk/numaec/LargeByteBufferAllocator;II)V
putfield at.yawk.numaec.LinearHashTable.allocator:Lat/yawk/numaec/PageAllocator;
6: aload 0
aload 0
getfield at.yawk.numaec.LinearHashTable.allocator:Lat/yawk/numaec/PageAllocator;
invokevirtual at.yawk.numaec.PageAllocator.getBufferView:()Lat/yawk/numaec/LargeByteBuffer;
putfield at.yawk.numaec.LinearHashTable.buf:Lat/yawk/numaec/LargeByteBuffer;
7: aload 0
aload 2
getfield at.yawk.numaec.LinearHashMapConfig.bucketSize:I
putfield at.yawk.numaec.LinearHashTable.bucketSize:I
8: aload 0
aload 2
getfield at.yawk.numaec.LinearHashMapConfig.pointerSize:I
putfield at.yawk.numaec.LinearHashTable.pointerSize:I
9: aload 0
iload 3
putfield at.yawk.numaec.LinearHashTable.entrySize:I
10: aload 0
aload 0
getfield at.yawk.numaec.LinearHashTable.bucketSize:I
aload 0
getfield at.yawk.numaec.LinearHashTable.pointerSize:I
isub
iload 3
idiv
i2l
invokestatic at.yawk.numaec.BTree.requiredCountBytes:(J)I
putfield at.yawk.numaec.LinearHashTable.bucketEntryCountBytes:I
11: aload 0
aload 0
getfield at.yawk.numaec.LinearHashTable.bucketSize:I
aload 0
getfield at.yawk.numaec.LinearHashTable.pointerSize:I
isub
aload 0
getfield at.yawk.numaec.LinearHashTable.bucketEntryCountBytes:I
isub
iload 3
idiv
putfield at.yawk.numaec.LinearHashTable.maxBucketEntryCount:I
12: aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
ldc -1
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.add:(J)Z
pop
13: lconst_1
bipush 8
aload 0
getfield at.yawk.numaec.LinearHashTable.pointerSize:I
imul
lshl
ldc 2
lsub
lstore 4
start local 4 14: lload 4
lconst_0
lcmp
ifge 16
15: ldc 9223372036854775807
lstore 4
16: StackMap locals: at.yawk.numaec.LinearHashTable at.yawk.numaec.LargeByteBufferAllocator at.yawk.numaec.LinearHashMapConfig int long
StackMap stack:
aload 0
lload 4
putfield at.yawk.numaec.LinearHashTable.maxBucket:J
17: return
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 Lat/yawk/numaec/LinearHashTable;
0 18 1 allocator Lat/yawk/numaec/LargeByteBufferAllocator;
0 18 2 config Lat/yawk/numaec/LinearHashMapConfig;
0 18 3 entrySize I
14 18 4 maxBucket J
MethodParameters:
Name Flags
allocator
config
entrySize
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield at.yawk.numaec.LinearHashTable.splitIndex:I
1: aload 0
iconst_0
putfield at.yawk.numaec.LinearHashTable.lowDepth:I
2: aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.clear:()V
3: aload 0
getfield at.yawk.numaec.LinearHashTable.allocator:Lat/yawk/numaec/PageAllocator;
invokevirtual at.yawk.numaec.PageAllocator.freeAllPages:()V
4: aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
ldc -1
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.add:(J)Z
pop
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lat/yawk/numaec/LinearHashTable;
public void expandToFullLoadCapacity(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: lload 1
lconst_1
lsub
aload 0
getfield at.yawk.numaec.LinearHashTable.maxBucketEntryCount:I
i2l
ldiv
lconst_1
ladd
lstore 3
start local 3 1: lload 3
aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.size:()I
i2l
lcmp
ifle 20
2: aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.isEmpty:()Z
ifeq 8
3: goto 6
4: StackMap locals: long
StackMap stack:
aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
ldc -1
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.add:(J)Z
pop
5: lload 3
lconst_1
lsub
lstore 3
6: StackMap locals:
StackMap stack:
lload 3
lconst_0
lcmp
ifgt 4
7: goto 20
8: StackMap locals:
StackMap stack:
aconst_null
astore 5
aconst_null
astore 6
9: aload 0
invokevirtual at.yawk.numaec.LinearHashTable.allocateCursor:()Lat/yawk/numaec/LinearHashTable$Cursor;
astore 7
start local 7 10: goto 13
11: StackMap locals: java.lang.Throwable java.lang.Throwable at.yawk.numaec.LinearHashTable$Cursor
StackMap stack:
aload 7
aload 0
getfield at.yawk.numaec.LinearHashTable.splitIndex:I
invokevirtual at.yawk.numaec.LinearHashTable$Cursor.seekMainBucketByBucketIndex:(I)V
12: aload 7
invokevirtual at.yawk.numaec.LinearHashTable$Cursor.splitBucket:()V
13: StackMap locals:
StackMap stack:
lload 3
aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.size:()I
i2l
lcmp
ifgt 11
14: aload 7
ifnull 20
aload 7
invokevirtual at.yawk.numaec.LinearHashTable$Cursor.close:()V
goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 5
aload 7
ifnull 16
aload 7
invokevirtual at.yawk.numaec.LinearHashTable$Cursor.close:()V
end local 7 StackMap locals:
StackMap stack:
16: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 6
aload 5
ifnonnull 18
aload 6
astore 5
goto 19
StackMap locals:
StackMap stack:
18: aload 5
aload 6
if_acmpeq 19
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
19: aload 5
athrow
20: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lat/yawk/numaec/LinearHashTable;
0 21 1 entryCount J
1 21 3 requiredBuckets J
10 16 7 cursor Lat/yawk/numaec/LinearHashTable$Cursor;
Exception table:
from to target type
10 14 15 any
9 17 17 any
MethodParameters:
Name Flags
entryCount
public at.yawk.numaec.LinearHashTable$Cursor allocateCursor();
descriptor: ()Lat/yawk/numaec/LinearHashTable$Cursor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield at.yawk.numaec.LinearHashTable.reuseCursor:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast at.yawk.numaec.LinearHashTable$Cursor
astore 1
start local 1 1: aload 1
ifnonnull 4
2: new at.yawk.numaec.LinearHashTable$Cursor
dup
aload 0
invokespecial at.yawk.numaec.LinearHashTable$Cursor.<init>:(Lat/yawk/numaec/LinearHashTable;)V
astore 1
3: aload 1
invokevirtual at.yawk.numaec.LinearHashTable$Cursor.init:()V
4: StackMap locals: at.yawk.numaec.LinearHashTable$Cursor
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lat/yawk/numaec/LinearHashTable;
1 5 1 cursor Lat/yawk/numaec/LinearHashTable$Cursor;
void checkInvariants();
descriptor: ()V
flags: (0x0000)
Code:
stack=5, locals=18, args_size=1
start local 0 0: aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.size:()I
iconst_1
aload 0
getfield at.yawk.numaec.LinearHashTable.lowDepth:I
ishl
if_icmpge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.size:()I
iconst_1
aload 0
getfield at.yawk.numaec.LinearHashTable.lowDepth:I
iconst_1
iadd
ishl
if_icmplt 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.isEmpty:()Z
ifne 3
aload 0
getfield at.yawk.numaec.LinearHashTable.splitIndex:I
aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.size:()I
if_icmple 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 4: goto 37
5: StackMap locals: int
StackMap stack:
iload 1
aload 0
getfield at.yawk.numaec.LinearHashTable.splitIndex:I
if_icmplt 6
iload 1
iconst_1
aload 0
getfield at.yawk.numaec.LinearHashTable.lowDepth:I
ishl
if_icmplt 7
6: StackMap locals:
StackMap stack:
aload 0
getfield at.yawk.numaec.LinearHashTable.lowDepth:I
iconst_1
iadd
goto 8
StackMap locals:
StackMap stack:
7: aload 0
getfield at.yawk.numaec.LinearHashTable.lowDepth:I
8: StackMap locals:
StackMap stack: int
istore 2
start local 2 9: iconst_1
iload 2
ishl
iconst_1
isub
i2l
invokestatic java.lang.Long.reverse:(J)J
lstore 3
start local 3 10: iload 1
i2l
invokestatic java.lang.Long.reverse:(J)J
lstore 5
start local 5 11: lload 5
lstore 7
start local 7 12: lconst_0
lstore 9
start local 9 13: aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
iload 1
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.get:(I)J
lstore 11
start local 11 14: goto 35
15: StackMap locals: at.yawk.numaec.LinearHashTable int int long long long long long
StackMap stack:
iconst_0
istore 13
start local 13 16: goto 31
17: StackMap locals: int
StackMap stack:
aload 0
lload 11
iload 13
i2l
invokevirtual at.yawk.numaec.LinearHashTable.getHash0:(JJ)J
lstore 14
start local 14 18: aload 0
lload 11
iload 13
i2l
invokevirtual at.yawk.numaec.LinearHashTable.getKey0:(JJ)J
lstore 16
start local 16 19: aload 0
lload 11
iload 13
i2l
invokevirtual at.yawk.numaec.LinearHashTable.getValue0:(JJ)J
pop2
20: lload 14
lload 3
land
lload 5
lcmp
ifeq 21
new java.lang.AssertionError
dup
ldc "block prefix"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
21: StackMap locals: long long
StackMap stack:
lload 14
lload 7
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 22
new java.lang.AssertionError
dup
ldc "block order"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
22: StackMap locals:
StackMap stack:
lload 14
lload 7
lcmp
ifne 24
lload 16
lload 9
invokestatic java.lang.Long.compareUnsigned:(JJ)I
ifge 24
23: new java.lang.AssertionError
dup
ldc "block order"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
24: StackMap locals:
StackMap stack:
lload 16
ldc -1
lcmp
ifne 28
25: lload 14
lconst_1
ladd
lstore 7
26: lconst_0
lstore 9
27: goto 30
28: StackMap locals:
StackMap stack:
lload 14
lstore 7
29: lload 16
lconst_1
ladd
lstore 9
end local 16 end local 14 30: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
31: iload 13
i2l
aload 0
lload 11
invokevirtual at.yawk.numaec.LinearHashTable.getBucketEntryCount:(J)J
lcmp
iflt 17
end local 13 32: aload 0
lload 11
invokevirtual at.yawk.numaec.LinearHashTable.getNextPointer:(J)J
ldc -1
lcmp
ifeq 34
aload 0
lload 11
invokevirtual at.yawk.numaec.LinearHashTable.getBucketEntryCount:(J)J
aload 0
getfield at.yawk.numaec.LinearHashTable.maxBucketEntryCount:I
i2l
lcmp
ifeq 34
33: new java.lang.AssertionError
dup
ldc "block still has room but also a next block"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
34: StackMap locals:
StackMap stack:
aload 0
lload 11
invokevirtual at.yawk.numaec.LinearHashTable.getNextPointer:(J)J
lstore 11
35: StackMap locals:
StackMap stack:
lload 11
ldc -1
lcmp
ifne 15
end local 11 end local 9 end local 7 end local 5 end local 3 end local 2 36: iinc 1 1
StackMap locals: at.yawk.numaec.LinearHashTable int
StackMap stack:
37: iload 1
aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.size:()I
if_icmplt 5
end local 1 38: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lat/yawk/numaec/LinearHashTable;
4 38 1 i I
9 36 2 depth I
10 36 3 hashMask J
11 36 5 hashPrefix J
12 36 7 nextHash J
13 36 9 nextKey J
14 36 11 block J
16 32 13 j I
18 30 14 hash J
19 30 16 key J
RuntimeInvisibleAnnotations:
at.yawk.numaec.DoNotMutate()
private static int bucketIndex(int, long);
descriptor: (IJ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: iload 0
bipush 32
if_icmplt 1
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
lload 1
invokestatic java.lang.Long.reverse:(J)J
iconst_1
iload 0
ishl
iconst_1
isub
i2l
land
l2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 depth I
0 2 1 hash J
MethodParameters:
Name Flags
depth
hash
private long baseAddress(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
ldc -1
lcmp
ifne 1
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield at.yawk.numaec.LinearHashTable.bucketSize:I
i2l
lload 1
lmul
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lat/yawk/numaec/LinearHashTable;
0 2 1 bucketPtr J
MethodParameters:
Name Flags
bucketPtr
private long getNextPointer(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield at.yawk.numaec.LinearHashTable.buf:Lat/yawk/numaec/LargeByteBuffer;
aload 0
lload 1
lconst_1
ladd
invokevirtual at.yawk.numaec.LinearHashTable.baseAddress:(J)J
aload 0
getfield at.yawk.numaec.LinearHashTable.pointerSize:I
i2l
lsub
aload 0
getfield at.yawk.numaec.LinearHashTable.pointerSize:I
invokestatic at.yawk.numaec.BTree.uget:(Lat/yawk/numaec/LargeByteBuffer;JI)J
lstore 3
start local 3 1: lload 3
aload 0
getfield at.yawk.numaec.LinearHashTable.maxBucket:J
lconst_1
ladd
lcmp
ifne 3
2: ldc -1
lreturn
3: StackMap locals: long
StackMap stack:
lload 3
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lat/yawk/numaec/LinearHashTable;
0 4 1 bucketPtr J
1 4 3 v J
MethodParameters:
Name Flags
bucketPtr
private void setNextPointer(long, long);
descriptor: (JJ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 3
aload 0
getfield at.yawk.numaec.LinearHashTable.maxBucket:J
lcmp
ifle 1
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
lload 3
ldc -1
lcmp
ifge 2
aload 0
getfield at.yawk.numaec.LinearHashTable.pointerSize:I
bipush 8
if_icmpeq 2
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
lload 3
ldc -1
lcmp
ifne 3
aload 0
getfield at.yawk.numaec.LinearHashTable.maxBucket:J
lconst_1
ladd
lstore 3
3: StackMap locals:
StackMap stack:
aload 0
getfield at.yawk.numaec.LinearHashTable.buf:Lat/yawk/numaec/LargeByteBuffer;
aload 0
lload 1
lconst_1
ladd
invokevirtual at.yawk.numaec.LinearHashTable.baseAddress:(J)J
aload 0
getfield at.yawk.numaec.LinearHashTable.pointerSize:I
i2l
lsub
aload 0
getfield at.yawk.numaec.LinearHashTable.pointerSize:I
lload 3
invokestatic at.yawk.numaec.BTree.uset:(Lat/yawk/numaec/LargeByteBuffer;JIJ)V
4: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lat/yawk/numaec/LinearHashTable;
0 5 1 bucketPtr J
0 5 3 nextPtr J
MethodParameters:
Name Flags
bucketPtr
nextPtr
private long getBucketEntryCount(long);
descriptor: (J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield at.yawk.numaec.LinearHashTable.buf:Lat/yawk/numaec/LargeByteBuffer;
aload 0
lload 1
lconst_1
ladd
invokevirtual at.yawk.numaec.LinearHashTable.baseAddress:(J)J
aload 0
getfield at.yawk.numaec.LinearHashTable.pointerSize:I
i2l
lsub
aload 0
getfield at.yawk.numaec.LinearHashTable.bucketEntryCountBytes:I
i2l
lsub
aload 0
getfield at.yawk.numaec.LinearHashTable.bucketEntryCountBytes:I
invokestatic at.yawk.numaec.BTree.uget:(Lat/yawk/numaec/LargeByteBuffer;JI)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lat/yawk/numaec/LinearHashTable;
0 1 1 bucketPtr J
MethodParameters:
Name Flags
bucketPtr
private void setBucketEntryCount(long, long);
descriptor: (JJ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield at.yawk.numaec.LinearHashTable.buf:Lat/yawk/numaec/LargeByteBuffer;
aload 0
lload 1
lconst_1
ladd
invokevirtual at.yawk.numaec.LinearHashTable.baseAddress:(J)J
aload 0
getfield at.yawk.numaec.LinearHashTable.pointerSize:I
i2l
lsub
aload 0
getfield at.yawk.numaec.LinearHashTable.bucketEntryCountBytes:I
i2l
lsub
aload 0
getfield at.yawk.numaec.LinearHashTable.bucketEntryCountBytes:I
lload 3
invokestatic at.yawk.numaec.BTree.uset:(Lat/yawk/numaec/LargeByteBuffer;JIJ)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lat/yawk/numaec/LinearHashTable;
0 2 1 bucketPtr J
0 2 3 count J
MethodParameters:
Name Flags
bucketPtr
count
private long getEntryAddress(long, long);
descriptor: (JJ)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
invokevirtual at.yawk.numaec.LinearHashTable.baseAddress:(J)J
lload 3
aload 0
getfield at.yawk.numaec.LinearHashTable.entrySize:I
i2l
lmul
ladd
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lat/yawk/numaec/LinearHashTable;
0 1 1 bucket J
0 1 3 indexInBucket J
MethodParameters:
Name Flags
bucket
indexInBucket
private long getHash0(long, long);
descriptor: (JJ)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
aload 0
getfield at.yawk.numaec.LinearHashTable.buf:Lat/yawk/numaec/LargeByteBuffer;
aload 0
lload 1
lload 3
invokevirtual at.yawk.numaec.LinearHashTable.getEntryAddress:(JJ)J
invokevirtual at.yawk.numaec.LinearHashTable.readHash:(Lat/yawk/numaec/LargeByteBuffer;J)J
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lat/yawk/numaec/LinearHashTable;
0 1 1 bucket J
0 1 3 indexInBucket J
MethodParameters:
Name Flags
bucket
indexInBucket
private long getKey0(long, long);
descriptor: (JJ)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
aload 0
getfield at.yawk.numaec.LinearHashTable.buf:Lat/yawk/numaec/LargeByteBuffer;
aload 0
lload 1
lload 3
invokevirtual at.yawk.numaec.LinearHashTable.getEntryAddress:(JJ)J
invokevirtual at.yawk.numaec.LinearHashTable.readKey:(Lat/yawk/numaec/LargeByteBuffer;J)J
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lat/yawk/numaec/LinearHashTable;
0 1 1 bucket J
0 1 3 indexInBucket J
MethodParameters:
Name Flags
bucket
indexInBucket
private long getValue0(long, long);
descriptor: (JJ)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
aload 0
getfield at.yawk.numaec.LinearHashTable.buf:Lat/yawk/numaec/LargeByteBuffer;
aload 0
lload 1
lload 3
invokevirtual at.yawk.numaec.LinearHashTable.getEntryAddress:(JJ)J
invokevirtual at.yawk.numaec.LinearHashTable.readValue:(Lat/yawk/numaec/LargeByteBuffer;J)J
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lat/yawk/numaec/LinearHashTable;
0 1 1 bucket J
0 1 3 indexInBucket J
MethodParameters:
Name Flags
bucket
indexInBucket
protected abstract void write(at.yawk.numaec.LargeByteBuffer, long, long, long, long);
descriptor: (Lat/yawk/numaec/LargeByteBuffer;JJJJ)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
lbb
address
hash
key
value
protected abstract long readHash(at.yawk.numaec.LargeByteBuffer, long);
descriptor: (Lat/yawk/numaec/LargeByteBuffer;J)J
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
lbb
address
protected abstract long readKey(at.yawk.numaec.LargeByteBuffer, long);
descriptor: (Lat/yawk/numaec/LargeByteBuffer;J)J
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
lbb
address
protected abstract long readValue(at.yawk.numaec.LargeByteBuffer, long);
descriptor: (Lat/yawk/numaec/LargeByteBuffer;J)J
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
lbb
address
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield at.yawk.numaec.LinearHashTable.allocator:Lat/yawk/numaec/PageAllocator;
invokevirtual at.yawk.numaec.PageAllocator.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lat/yawk/numaec/LinearHashTable;
java.lang.String toStringFlat();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: aload 0
invokevirtual at.yawk.numaec.LinearHashTable.allocateCursor:()Lat/yawk/numaec/LinearHashTable$Cursor;
astore 3
start local 3 2: aload 3
invokestatic at.yawk.numaec.BTree.toString:(Lat/yawk/numaec/MapStoreCursor;)Ljava/lang/String;
3: aload 3
ifnull 4
aload 3
invokevirtual at.yawk.numaec.LinearHashTable$Cursor.close:()V
4: StackMap locals: at.yawk.numaec.LinearHashTable java.lang.Throwable java.lang.Throwable at.yawk.numaec.LinearHashTable$Cursor
StackMap stack: java.lang.String
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 1
6: aload 3
ifnull 7
aload 3
invokevirtual at.yawk.numaec.LinearHashTable$Cursor.close:()V
end local 3 StackMap locals:
StackMap stack:
7: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
8: astore 2
aload 1
ifnonnull 9
aload 2
astore 1
goto 10
StackMap locals:
StackMap stack:
9: aload 1
aload 2
if_acmpeq 10
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
10: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lat/yawk/numaec/LinearHashTable;
2 7 3 iterator Lat/yawk/numaec/LinearHashTable$Cursor;
Exception table:
from to target type
2 3 5 any
1 4 8 any
5 8 8 any
RuntimeInvisibleAnnotations:
at.yawk.numaec.DoNotMutate()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
at.yawk.numaec.DoNotMutate()
java.lang.String[] toStringBlocks();
descriptor: ()[Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield at.yawk.numaec.LinearHashTable.mainBuckets:Lorg/eclipse/collections/api/list/primitive/MutableLongList;
invokeinterface org.eclipse.collections.api.list.primitive.MutableLongList.primitiveStream:()Ljava/util/stream/LongStream;
1: aload 0
invokedynamic apply(Lat/yawk/numaec/LinearHashTable;)Ljava/util/function/LongFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(J)Ljava/lang/Object;
at/yawk/numaec/LinearHashTable.lambda$0(J)Ljava/lang/String; (7)
(J)Ljava/lang/String;
invokeinterface java.util.stream.LongStream.mapToObj:(Ljava/util/function/LongFunction;)Ljava/util/stream/Stream;
2: invokedynamic apply()Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
at/yawk/numaec/LinearHashTable.lambda$1(I)[Ljava/lang/String; (6)
(I)[Ljava/lang/String;
invokeinterface java.util.stream.Stream.toArray:(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
checkcast java.lang.String[]
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lat/yawk/numaec/LinearHashTable;
RuntimeInvisibleAnnotations:
at.yawk.numaec.DoNotMutate()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN, location=[ARRAY_ELEMENT]
at.yawk.numaec.DoNotMutate()
private java.lang.String lambda$0(long);
descriptor: (J)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 1: lload 1
lstore 4
start local 4 2: StackMap locals: java.lang.StringBuilder long
StackMap stack:
lload 4
ldc -1
lcmp
ifne 5
3: aload 3
ldc "NULL"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: goto 18
5: StackMap locals:
StackMap stack:
aload 3
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
6: ldc ":{"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: iconst_0
istore 6
start local 6 8: goto 14
9: StackMap locals: int
StackMap stack:
iload 6
ifeq 10
aload 3
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: StackMap locals:
StackMap stack:
aload 3
aload 0
lload 4
iload 6
i2l
invokevirtual at.yawk.numaec.LinearHashTable.getKey0:(JJ)J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
11: ldc "(0x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
lload 4
iload 6
i2l
invokevirtual at.yawk.numaec.LinearHashTable.getHash0:(JJ)J
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc "): "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
lload 4
lconst_0
invokevirtual at.yawk.numaec.LinearHashTable.getValue0:(JJ)J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
pop
13: iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
i2l
aload 0
lload 4
invokevirtual at.yawk.numaec.LinearHashTable.getBucketEntryCount:(J)J
lcmp
iflt 9
end local 6 15: aload 3
ldc "}->"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
16: aload 0
lload 4
invokevirtual at.yawk.numaec.LinearHashTable.getNextPointer:(J)J
lstore 4
17: goto 2
18: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lat/yawk/numaec/LinearHashTable;
0 19 1 b J
1 19 3 builder Ljava/lang/StringBuilder;
2 19 4 block J
8 15 6 i I
private static java.lang.String[] lambda$1(int);
descriptor: (I)[Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: iload 0
anewarray java.lang.String
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "LinearHashTable.java"
NestMembers:
at.yawk.numaec.LinearHashTable$Cursor
InnerClasses:
public Cursor = at.yawk.numaec.LinearHashTable$Cursor of at.yawk.numaec.LinearHashTable
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles