public final class org.apache.lucene.util.RecyclingByteBlockAllocator extends org.apache.lucene.util.ByteBlockPool$Allocator
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.lucene.util.RecyclingByteBlockAllocator
super_class: org.apache.lucene.util.ByteBlockPool$Allocator
{
private byte[][] freeByteBlocks;
descriptor: [[B
flags: (0x0002) ACC_PRIVATE
private final int maxBufferedBlocks;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int freeBlocks;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final org.apache.lucene.util.Counter bytesUsed;
descriptor: Lorg/apache/lucene/util/Counter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static final int DEFAULT_BUFFERED_BLOCKS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 64
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/lucene/util/RecyclingByteBlockAllocator;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.lucene.util.RecyclingByteBlockAllocator.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int, int, org.apache.lucene.util.Counter);
descriptor: (IILorg/apache/lucene/util/Counter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
invokespecial org.apache.lucene.util.ByteBlockPool$Allocator.<init>:(I)V
1: aload 0
iconst_0
putfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
2: aload 0
iload 2
anewarray byte[]
putfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeByteBlocks:[[B
3: aload 0
iload 2
putfield org.apache.lucene.util.RecyclingByteBlockAllocator.maxBufferedBlocks:I
4: aload 0
aload 3
putfield org.apache.lucene.util.RecyclingByteBlockAllocator.bytesUsed:Lorg/apache/lucene/util/Counter;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/lucene/util/RecyclingByteBlockAllocator;
0 6 1 blockSize I
0 6 2 maxBufferedBlocks I
0 6 3 bytesUsed Lorg/apache/lucene/util/Counter;
MethodParameters:
Name Flags
blockSize
maxBufferedBlocks
bytesUsed
public void <init>(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
iconst_0
invokestatic org.apache.lucene.util.Counter.newCounter:(Z)Lorg/apache/lucene/util/Counter;
invokespecial org.apache.lucene.util.RecyclingByteBlockAllocator.<init>:(IILorg/apache/lucene/util/Counter;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/lucene/util/RecyclingByteBlockAllocator;
0 2 1 blockSize I
0 2 2 maxBufferedBlocks I
MethodParameters:
Name Flags
blockSize
maxBufferedBlocks
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc 32768
bipush 64
iconst_0
invokestatic org.apache.lucene.util.Counter.newCounter:(Z)Lorg/apache/lucene/util/Counter;
invokespecial org.apache.lucene.util.RecyclingByteBlockAllocator.<init>:(IILorg/apache/lucene/util/Counter;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/lucene/util/RecyclingByteBlockAllocator;
public byte[] getByteBlock();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
ifne 3
1: aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.bytesUsed:Lorg/apache/lucene/util/Counter;
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.blockSize:I
i2l
invokevirtual org.apache.lucene.util.Counter.addAndGet:(J)J
pop2
2: aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.blockSize:I
newarray 8
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeByteBlocks:[[B
aload 0
dup
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
iconst_1
isub
dup_x1
putfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
aaload
astore 1
start local 1 4: aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeByteBlocks:[[B
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
aconst_null
aastore
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/lucene/util/RecyclingByteBlockAllocator;
4 6 1 b [B
public void recycleByteBlocks(byte[][], int, int);
descriptor: ([[BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.maxBufferedBlocks:I
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
isub
iload 3
iload 2
isub
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 1: aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
iload 4
iadd
istore 5
start local 5 2: iload 5
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeByteBlocks:[[B
arraylength
if_icmplt 8
3: iload 5
4: getstatic org.apache.lucene.util.RamUsageEstimator.NUM_BYTES_OBJECT_REF:I
5: invokestatic org.apache.lucene.util.ArrayUtil.oversize:(II)I
anewarray byte[]
astore 6
start local 6 6: aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeByteBlocks:[[B
iconst_0
aload 6
iconst_0
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 0
aload 6
putfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeByteBlocks:[[B
end local 6 8: StackMap locals: int int
StackMap stack:
iload 2
iload 4
iadd
istore 6
start local 6 9: iload 2
istore 7
start local 7 10: goto 14
11: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeByteBlocks:[[B
aload 0
dup
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
dup_x1
iconst_1
iadd
putfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
aload 1
iload 7
aaload
aastore
12: aload 1
iload 7
aconst_null
aastore
13: iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
iload 6
if_icmplt 11
end local 7 15: iload 6
istore 7
start local 7 16: goto 19
17: StackMap locals:
StackMap stack:
aload 1
iload 7
aconst_null
aastore
18: iinc 7 1
StackMap locals:
StackMap stack:
19: iload 7
iload 3
if_icmplt 17
end local 7 20: aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.bytesUsed:Lorg/apache/lucene/util/Counter;
iload 3
iload 6
isub
ineg
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.blockSize:I
imul
i2l
invokevirtual org.apache.lucene.util.Counter.addAndGet:(J)J
pop2
21: getstatic org.apache.lucene.util.RecyclingByteBlockAllocator.$assertionsDisabled:Z
ifne 22
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.bytesUsed:Lorg/apache/lucene/util/Counter;
invokevirtual org.apache.lucene.util.Counter.get:()J
lconst_0
lcmp
ifge 22
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
22: StackMap locals:
StackMap stack:
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 23 0 this Lorg/apache/lucene/util/RecyclingByteBlockAllocator;
0 23 1 blocks [[B
0 23 2 start I
0 23 3 end I
1 23 4 numBlocks I
2 23 5 size I
6 8 6 newBlocks [[B
9 23 6 stop I
10 15 7 i I
16 20 7 i I
MethodParameters:
Name Flags
blocks
start
end
public int numBufferedBlocks();
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.RecyclingByteBlockAllocator.freeBlocks:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/util/RecyclingByteBlockAllocator;
public long bytesUsed();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.bytesUsed:Lorg/apache/lucene/util/Counter;
invokevirtual org.apache.lucene.util.Counter.get:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/util/RecyclingByteBlockAllocator;
public int maxBufferedBlocks();
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.RecyclingByteBlockAllocator.maxBufferedBlocks:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/util/RecyclingByteBlockAllocator;
public int freeBlocks(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: getstatic org.apache.lucene.util.RecyclingByteBlockAllocator.$assertionsDisabled:Z
ifne 1
iload 1
ifge 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "free blocks must be >= 0 but was: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
if_icmple 5
2: iconst_0
istore 2
start local 2 3: aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
istore 3
start local 3 4: goto 9
end local 3 end local 2 5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
iload 1
isub
istore 2
start local 2 6: iload 1
istore 3
start local 3 7: goto 9
8: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeByteBlocks:[[B
aload 0
dup
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
iconst_1
isub
dup_x1
putfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
aconst_null
aastore
9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.freeBlocks:I
iload 2
if_icmpgt 8
10: aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.bytesUsed:Lorg/apache/lucene/util/Counter;
iload 3
ineg
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.blockSize:I
imul
i2l
invokevirtual org.apache.lucene.util.Counter.addAndGet:(J)J
pop2
11: getstatic org.apache.lucene.util.RecyclingByteBlockAllocator.$assertionsDisabled:Z
ifne 12
aload 0
getfield org.apache.lucene.util.RecyclingByteBlockAllocator.bytesUsed:Lorg/apache/lucene/util/Counter;
invokevirtual org.apache.lucene.util.Counter.get:()J
lconst_0
lcmp
ifge 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/lucene/util/RecyclingByteBlockAllocator;
0 13 1 num I
3 5 2 stop I
6 13 2 stop I
4 5 3 count I
7 13 3 count I
MethodParameters:
Name Flags
num
}
SourceFile: "RecyclingByteBlockAllocator.java"
InnerClasses:
public abstract Allocator = org.apache.lucene.util.ByteBlockPool$Allocator of org.apache.lucene.util.ByteBlockPool