final class org.apache.lucene.util.FixedLengthBytesRefArray implements org.apache.lucene.util.SortableBytesRefArray
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.apache.lucene.util.FixedLengthBytesRefArray
super_class: java.lang.Object
{
private final int valueLength;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int valuesPerBlock;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int size;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int currentBlock;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int nextEntry;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private byte[][] blocks;
descriptor: [[B
flags: (0x0002) ACC_PRIVATE
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield org.apache.lucene.util.FixedLengthBytesRefArray.currentBlock:I
2: aload 0
iload 1
putfield org.apache.lucene.util.FixedLengthBytesRefArray.valueLength:I
3: aload 0
iconst_1
ldc 32768
iload 1
idiv
invokestatic java.lang.Math.max:(II)I
putfield org.apache.lucene.util.FixedLengthBytesRefArray.valuesPerBlock:I
4: aload 0
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valuesPerBlock:I
putfield org.apache.lucene.util.FixedLengthBytesRefArray.nextEntry:I
5: aload 0
iconst_0
anewarray byte[]
putfield org.apache.lucene.util.FixedLengthBytesRefArray.blocks:[[B
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/lucene/util/FixedLengthBytesRefArray;
0 7 1 valueLength I
MethodParameters:
Name Flags
valueLength
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.apache.lucene.util.FixedLengthBytesRefArray.size:I
1: aload 0
iconst_0
anewarray byte[]
putfield org.apache.lucene.util.FixedLengthBytesRefArray.blocks:[[B
2: aload 0
iconst_m1
putfield org.apache.lucene.util.FixedLengthBytesRefArray.currentBlock:I
3: aload 0
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valuesPerBlock:I
putfield org.apache.lucene.util.FixedLengthBytesRefArray.nextEntry:I
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/lucene/util/FixedLengthBytesRefArray;
public int append(org.apache.lucene.util.BytesRef);
descriptor: (Lorg/apache/lucene/util/BytesRef;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield org.apache.lucene.util.BytesRef.length:I
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valueLength:I
if_icmpeq 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "value length is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield org.apache.lucene.util.BytesRef.length:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " but is supposed to always be "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valueLength:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.nextEntry:I
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valuesPerBlock:I
if_icmpne 11
3: aload 0
dup
getfield org.apache.lucene.util.FixedLengthBytesRefArray.currentBlock:I
iconst_1
iadd
putfield org.apache.lucene.util.FixedLengthBytesRefArray.currentBlock:I
4: aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.currentBlock:I
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.blocks:[[B
arraylength
if_icmpne 9
5: aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.currentBlock:I
iconst_1
iadd
getstatic org.apache.lucene.util.RamUsageEstimator.NUM_BYTES_OBJECT_REF:I
invokestatic org.apache.lucene.util.ArrayUtil.oversize:(II)I
istore 2
start local 2 6: iload 2
anewarray byte[]
astore 3
start local 3 7: aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.blocks:[[B
iconst_0
aload 3
iconst_0
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.blocks:[[B
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 0
aload 3
putfield org.apache.lucene.util.FixedLengthBytesRefArray.blocks:[[B
end local 3 end local 2 9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.blocks:[[B
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.currentBlock:I
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valuesPerBlock:I
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valueLength:I
imul
newarray 8
aastore
10: aload 0
iconst_0
putfield org.apache.lucene.util.FixedLengthBytesRefArray.nextEntry:I
11: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.lucene.util.BytesRef.bytes:[B
aload 1
getfield org.apache.lucene.util.BytesRef.offset:I
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.blocks:[[B
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.currentBlock:I
aaload
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.nextEntry:I
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valueLength:I
imul
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valueLength:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 0
dup
getfield org.apache.lucene.util.FixedLengthBytesRefArray.nextEntry:I
iconst_1
iadd
putfield org.apache.lucene.util.FixedLengthBytesRefArray.nextEntry:I
13: aload 0
dup
getfield org.apache.lucene.util.FixedLengthBytesRefArray.size:I
dup_x1
iconst_1
iadd
putfield org.apache.lucene.util.FixedLengthBytesRefArray.size:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/lucene/util/FixedLengthBytesRefArray;
0 14 1 bytes Lorg/apache/lucene/util/BytesRef;
6 9 2 size I
7 9 3 next [[B
MethodParameters:
Name Flags
bytes
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/util/FixedLengthBytesRefArray;
private int[] sort(java.util.Comparator<org.apache.lucene.util.BytesRef>);
descriptor: (Ljava/util/Comparator;)[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.lucene.util.FixedLengthBytesRefArray.size:()I
newarray 10
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: int[] int
StackMap stack:
aload 2
iload 3
iload 3
iastore
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 2
arraylength
if_icmplt 3
end local 3 6: aload 1
instanceof org.apache.lucene.util.BytesRefComparator
ifeq 11
7: aload 1
checkcast org.apache.lucene.util.BytesRefComparator
astore 3
start local 3 8: new org.apache.lucene.util.FixedLengthBytesRefArray$1
dup
aload 0
aload 3
getfield org.apache.lucene.util.BytesRefComparator.comparedBytesCount:I
aload 2
aload 3
invokespecial org.apache.lucene.util.FixedLengthBytesRefArray$1.<init>:(Lorg/apache/lucene/util/FixedLengthBytesRefArray;I[ILorg/apache/lucene/util/BytesRefComparator;)V
9: iconst_0
aload 0
invokevirtual org.apache.lucene.util.FixedLengthBytesRefArray.size:()I
invokevirtual org.apache.lucene.util.FixedLengthBytesRefArray$1.sort:(II)V
10: aload 2
areturn
end local 3 11: StackMap locals:
StackMap stack:
new org.apache.lucene.util.BytesRef
dup
invokespecial org.apache.lucene.util.BytesRef.<init>:()V
astore 3
start local 3 12: new org.apache.lucene.util.BytesRef
dup
invokespecial org.apache.lucene.util.BytesRef.<init>:()V
astore 4
start local 4 13: new org.apache.lucene.util.BytesRef
dup
invokespecial org.apache.lucene.util.BytesRef.<init>:()V
astore 5
start local 5 14: aload 3
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valueLength:I
putfield org.apache.lucene.util.BytesRef.length:I
15: aload 4
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valueLength:I
putfield org.apache.lucene.util.BytesRef.length:I
16: aload 5
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valueLength:I
putfield org.apache.lucene.util.BytesRef.length:I
17: new org.apache.lucene.util.FixedLengthBytesRefArray$2
dup
aload 0
aload 2
aload 4
aload 5
aload 1
aload 3
invokespecial org.apache.lucene.util.FixedLengthBytesRefArray$2.<init>:(Lorg/apache/lucene/util/FixedLengthBytesRefArray;[ILorg/apache/lucene/util/BytesRef;Lorg/apache/lucene/util/BytesRef;Ljava/util/Comparator;Lorg/apache/lucene/util/BytesRef;)V
18: iconst_0
aload 0
invokevirtual org.apache.lucene.util.FixedLengthBytesRefArray.size:()I
invokevirtual org.apache.lucene.util.FixedLengthBytesRefArray$2.sort:(II)V
19: aload 2
areturn
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 20 0 this Lorg/apache/lucene/util/FixedLengthBytesRefArray;
0 20 1 comp Ljava/util/Comparator<Lorg/apache/lucene/util/BytesRef;>;
1 20 2 orderedEntries [I
2 6 3 i I
8 11 3 bComp Lorg/apache/lucene/util/BytesRefComparator;
12 20 3 pivot Lorg/apache/lucene/util/BytesRef;
13 20 4 scratch1 Lorg/apache/lucene/util/BytesRef;
14 20 5 scratch2 Lorg/apache/lucene/util/BytesRef;
Signature: (Ljava/util/Comparator<Lorg/apache/lucene/util/BytesRef;>;)[I
MethodParameters:
Name Flags
comp final
public org.apache.lucene.util.BytesRefIterator iterator(java.util.Comparator<org.apache.lucene.util.BytesRef>);
descriptor: (Ljava/util/Comparator;)Lorg/apache/lucene/util/BytesRefIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: new org.apache.lucene.util.BytesRef
dup
invokespecial org.apache.lucene.util.BytesRef.<init>:()V
astore 2
start local 2 1: aload 2
aload 0
getfield org.apache.lucene.util.FixedLengthBytesRefArray.valueLength:I
putfield org.apache.lucene.util.BytesRef.length:I
2: aload 0
invokevirtual org.apache.lucene.util.FixedLengthBytesRefArray.size:()I
istore 3
start local 3 3: aload 0
aload 1
invokevirtual org.apache.lucene.util.FixedLengthBytesRefArray.sort:(Ljava/util/Comparator;)[I
astore 4
start local 4 4: new org.apache.lucene.util.FixedLengthBytesRefArray$3
dup
aload 0
iload 3
aload 4
aload 2
invokespecial org.apache.lucene.util.FixedLengthBytesRefArray$3.<init>:(Lorg/apache/lucene/util/FixedLengthBytesRefArray;I[ILorg/apache/lucene/util/BytesRef;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/lucene/util/FixedLengthBytesRefArray;
0 5 1 comp Ljava/util/Comparator<Lorg/apache/lucene/util/BytesRef;>;
1 5 2 result Lorg/apache/lucene/util/BytesRef;
3 5 3 size I
4 5 4 indices [I
Signature: (Ljava/util/Comparator<Lorg/apache/lucene/util/BytesRef;>;)Lorg/apache/lucene/util/BytesRefIterator;
MethodParameters:
Name Flags
comp final
}
SourceFile: "FixedLengthBytesRefArray.java"
NestMembers:
org.apache.lucene.util.FixedLengthBytesRefArray$1 org.apache.lucene.util.FixedLengthBytesRefArray$2 org.apache.lucene.util.FixedLengthBytesRefArray$3
InnerClasses:
org.apache.lucene.util.FixedLengthBytesRefArray$1
org.apache.lucene.util.FixedLengthBytesRefArray$2
org.apache.lucene.util.FixedLengthBytesRefArray$3