class com.codahale.metrics.ChunkedAssociativeLongArray
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.codahale.metrics.ChunkedAssociativeLongArray
super_class: java.lang.Object
{
private static final long[] EMPTY;
descriptor: [J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int DEFAULT_CHUNK_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 512
private static final int MAX_CACHE_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private final int defaultChunkSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.ArrayDeque<java.lang.ref.SoftReference<com.codahale.metrics.ChunkedAssociativeLongArray$Chunk>> chunksCache;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayDeque<Ljava/lang/ref/SoftReference<Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;>;>;
private final java.util.Deque<com.codahale.metrics.ChunkedAssociativeLongArray$Chunk> chunks;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
newarray 11
putstatic com.codahale.metrics.ChunkedAssociativeLongArray.EMPTY:[J
1: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
sipush 512
invokespecial com.codahale.metrics.ChunkedAssociativeLongArray.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/codahale/metrics/ChunkedAssociativeLongArray;
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield com.codahale.metrics.ChunkedAssociativeLongArray.chunksCache:Ljava/util/ArrayDeque;
2: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield com.codahale.metrics.ChunkedAssociativeLongArray.chunks:Ljava/util/Deque;
3: aload 0
iload 1
putfield com.codahale.metrics.ChunkedAssociativeLongArray.defaultChunkSize:I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/codahale/metrics/ChunkedAssociativeLongArray;
0 5 1 chunkSize I
MethodParameters:
Name Flags
chunkSize
private com.codahale.metrics.ChunkedAssociativeLongArray$Chunk allocateChunk();
descriptor: ()Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield com.codahale.metrics.ChunkedAssociativeLongArray.chunksCache:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.pollLast:()Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new com.codahale.metrics.ChunkedAssociativeLongArray$Chunk
dup
aload 0
getfield com.codahale.metrics.ChunkedAssociativeLongArray.defaultChunkSize:I
invokespecial com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.<init>:(I)V
areturn
3: StackMap locals: java.lang.ref.SoftReference
StackMap stack:
aload 1
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
checkcast com.codahale.metrics.ChunkedAssociativeLongArray$Chunk
astore 2
start local 2 4: aload 2
ifnull 0
5: aload 2
iconst_0
putfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
6: aload 2
iconst_0
putfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
7: aload 2
aload 2
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.keys:[J
arraylength
putfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.chunkSize:I
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/codahale/metrics/ChunkedAssociativeLongArray;
1 9 1 chunkRef Ljava/lang/ref/SoftReference<Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;>;
4 9 2 chunk Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;
private void freeChunk(com.codahale.metrics.ChunkedAssociativeLongArray$Chunk);
descriptor: (Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.codahale.metrics.ChunkedAssociativeLongArray.chunksCache:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
sipush 128
if_icmpge 2
1: aload 0
getfield com.codahale.metrics.ChunkedAssociativeLongArray.chunksCache:Ljava/util/ArrayDeque;
new java.lang.ref.SoftReference
dup
aload 1
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/codahale/metrics/ChunkedAssociativeLongArray;
0 3 1 chunk Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;
MethodParameters:
Name Flags
chunk
synchronized boolean put(long, long);
descriptor: (JJ)Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield com.codahale.metrics.ChunkedAssociativeLongArray.chunks:Ljava/util/Deque;
invokeinterface java.util.Deque.peekLast:()Ljava/lang/Object;
checkcast com.codahale.metrics.ChunkedAssociativeLongArray$Chunk
astore 5
start local 5 1: aload 5
ifnull 3
aload 5
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
ifeq 3
aload 5
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.keys:[J
aload 5
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
iconst_1
isub
laload
lload 1
lcmp
ifle 3
2: iconst_0
ireturn
3: StackMap locals: com.codahale.metrics.ChunkedAssociativeLongArray$Chunk
StackMap stack:
aload 5
ifnull 4
aload 5
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
aload 5
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
isub
aload 5
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.chunkSize:I
if_icmpne 6
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.codahale.metrics.ChunkedAssociativeLongArray.allocateChunk:()Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;
astore 5
5: aload 0
getfield com.codahale.metrics.ChunkedAssociativeLongArray.chunks:Ljava/util/Deque;
aload 5
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
aload 5
lload 1
lload 3
invokevirtual com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.append:(JJ)V
7: iconst_1
ireturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/codahale/metrics/ChunkedAssociativeLongArray;
0 8 1 key J
0 8 3 value J
1 8 5 activeChunk Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;
MethodParameters:
Name Flags
key
value
synchronized long[] values();
descriptor: ()[J
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual com.codahale.metrics.ChunkedAssociativeLongArray.size:()I
istore 1
start local 1 1: iload 1
ifne 3
2: getstatic com.codahale.metrics.ChunkedAssociativeLongArray.EMPTY:[J
areturn
3: StackMap locals: int
StackMap stack:
iload 1
newarray 11
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: aload 0
getfield com.codahale.metrics.ChunkedAssociativeLongArray.chunks:Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: com.codahale.metrics.ChunkedAssociativeLongArray int long[] int top java.util.Iterator
StackMap stack:
6: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.codahale.metrics.ChunkedAssociativeLongArray$Chunk
astore 4
start local 4 7: aload 4
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
aload 4
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
isub
istore 6
start local 6 8: iload 1
iload 3
isub
iload 6
invokestatic java.lang.Math.min:(II)I
istore 7
start local 7 9: aload 4
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.values:[J
aload 4
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
aload 2
iload 3
iload 7
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: iload 3
iload 6
iadd
istore 3
end local 7 end local 6 end local 4 11: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
12: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/codahale/metrics/ChunkedAssociativeLongArray;
1 13 1 valuesSize I
4 13 2 values [J
5 13 3 valuesIndex I
7 11 4 chunk Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;
8 11 6 length I
9 11 7 itemsToCopy I
synchronized int size();
descriptor: ()I
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield com.codahale.metrics.ChunkedAssociativeLongArray.chunks:Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: com.codahale.metrics.ChunkedAssociativeLongArray int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.codahale.metrics.ChunkedAssociativeLongArray$Chunk
astore 2
start local 2 3: iload 1
aload 2
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
aload 2
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
isub
iadd
istore 1
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/codahale/metrics/ChunkedAssociativeLongArray;
1 6 1 result I
3 4 2 chunk Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;
synchronized java.lang.String out();
descriptor: ()Ljava/lang/String;
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=3, locals=5, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.codahale.metrics.ChunkedAssociativeLongArray.chunks:Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 2
start local 2 2: goto 14
3: StackMap locals: java.lang.StringBuilder java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.codahale.metrics.ChunkedAssociativeLongArray$Chunk
astore 3
start local 3 4: aload 1
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: aload 3
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
istore 4
start local 4 6: goto 10
7: StackMap locals: com.codahale.metrics.ChunkedAssociativeLongArray$Chunk int
StackMap stack:
aload 1
bipush 40
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 3
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.keys:[J
iload 4
laload
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 3
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.values:[J
iload 4
laload
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
aload 3
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
if_icmplt 7
end local 4 11: aload 1
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 14
13: aload 1
ldc "->"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 14: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
15: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/codahale/metrics/ChunkedAssociativeLongArray;
1 16 1 builder Ljava/lang/StringBuilder;
2 16 2 iterator Ljava/util/Iterator<Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;>;
4 14 3 chunk Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;
6 11 4 i I
synchronized void trim(long, long);
descriptor: (JJ)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield com.codahale.metrics.ChunkedAssociativeLongArray.chunks:Ljava/util/Deque;
invokeinterface java.util.Deque.descendingIterator:()Ljava/util/Iterator;
astore 5
start local 5 1: goto 11
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.codahale.metrics.ChunkedAssociativeLongArray$Chunk
astore 6
start local 6 3: aload 0
aload 6
lload 3
invokevirtual com.codahale.metrics.ChunkedAssociativeLongArray.isFirstElementIsEmptyOrGreaterEqualThanKey:(Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;J)Z
ifeq 7
4: aload 0
aload 6
invokevirtual com.codahale.metrics.ChunkedAssociativeLongArray.freeChunk:(Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;)V
5: aload 5
invokeinterface java.util.Iterator.remove:()V
6: goto 11
7: StackMap locals: com.codahale.metrics.ChunkedAssociativeLongArray$Chunk
StackMap stack:
aload 6
aload 0
aload 6
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.keys:[J
aload 6
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
8: aload 6
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
lload 3
9: invokevirtual com.codahale.metrics.ChunkedAssociativeLongArray.findFirstIndexOfGreaterEqualElements:([JIIJ)I
putfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
10: goto 12
end local 6 11: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
12: StackMap locals:
StackMap stack:
aload 0
getfield com.codahale.metrics.ChunkedAssociativeLongArray.chunks:Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 6
start local 6 13: goto 26
14: StackMap locals: java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.codahale.metrics.ChunkedAssociativeLongArray$Chunk
astore 7
start local 7 15: aload 0
aload 7
lload 1
invokevirtual com.codahale.metrics.ChunkedAssociativeLongArray.isLastElementIsLessThanKey:(Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;J)Z
ifeq 19
16: aload 0
aload 7
invokevirtual com.codahale.metrics.ChunkedAssociativeLongArray.freeChunk:(Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;)V
17: aload 6
invokeinterface java.util.Iterator.remove:()V
18: goto 26
19: StackMap locals: com.codahale.metrics.ChunkedAssociativeLongArray$Chunk
StackMap stack:
aload 0
aload 7
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.keys:[J
aload 7
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
20: aload 7
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
lload 1
21: invokevirtual com.codahale.metrics.ChunkedAssociativeLongArray.findFirstIndexOfGreaterEqualElements:([JIIJ)I
istore 8
start local 8 22: aload 7
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
iload 8
if_icmpeq 27
23: aload 7
iload 8
putfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
24: aload 7
aload 7
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
aload 7
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
isub
putfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.chunkSize:I
25: goto 27
end local 8 end local 7 26: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
27: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/codahale/metrics/ChunkedAssociativeLongArray;
0 28 1 startKey J
0 28 3 endKey J
1 28 5 descendingIterator Ljava/util/Iterator<Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;>;
3 11 6 currentTail Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;
13 28 6 iterator Ljava/util/Iterator<Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;>;
15 26 7 currentHead Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;
22 26 8 newStartIndex I
MethodParameters:
Name Flags
startKey
endKey
synchronized void clear();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.codahale.metrics.ChunkedAssociativeLongArray.chunks:Ljava/util/Deque;
invokeinterface java.util.Deque.clear:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/codahale/metrics/ChunkedAssociativeLongArray;
private boolean isFirstElementIsEmptyOrGreaterEqualThanKey(com.codahale.metrics.ChunkedAssociativeLongArray$Chunk, long);
descriptor: (Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;J)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
aload 1
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
if_icmpeq 1
aload 1
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.keys:[J
aload 1
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
laload
lload 2
lcmp
ifge 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/codahale/metrics/ChunkedAssociativeLongArray;
0 2 1 chunk Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;
0 2 2 key J
MethodParameters:
Name Flags
chunk
key
private boolean isLastElementIsLessThanKey(com.codahale.metrics.ChunkedAssociativeLongArray$Chunk, long);
descriptor: (Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;J)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
aload 1
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.startIndex:I
if_icmpeq 1
aload 1
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.keys:[J
aload 1
getfield com.codahale.metrics.ChunkedAssociativeLongArray$Chunk.cursor:I
iconst_1
isub
laload
lload 2
lcmp
iflt 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/codahale/metrics/ChunkedAssociativeLongArray;
0 2 1 chunk Lcom/codahale/metrics/ChunkedAssociativeLongArray$Chunk;
0 2 2 key J
MethodParameters:
Name Flags
chunk
key
private int findFirstIndexOfGreaterEqualElements(long[], int, int, long);
descriptor: ([JIIJ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
iload 2
if_icmpeq 1
aload 1
iload 2
laload
lload 4
lcmp
iflt 2
1: StackMap locals:
StackMap stack:
iload 2
ireturn
2: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 3
lload 4
invokestatic java.util.Arrays.binarySearch:([JIIJ)I
istore 6
start local 6 3: iload 6
ifge 4
iload 6
iconst_1
iadd
ineg
goto 5
StackMap locals: int
StackMap stack:
4: iload 6
StackMap locals:
StackMap stack: int
5: ireturn
end local 6 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 Lcom/codahale/metrics/ChunkedAssociativeLongArray;
0 6 1 array [J
0 6 2 startIndex I
0 6 3 endIndex I
0 6 4 minKey J
3 6 6 keyIndex I
MethodParameters:
Name Flags
array
startIndex
endIndex
minKey
}
SourceFile: "ChunkedAssociativeLongArray.java"
NestMembers:
com.codahale.metrics.ChunkedAssociativeLongArray$Chunk
InnerClasses:
private Chunk = com.codahale.metrics.ChunkedAssociativeLongArray$Chunk of com.codahale.metrics.ChunkedAssociativeLongArray