public class org.hsqldb.persist.LobStoreMem implements org.hsqldb.persist.LobStore
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hsqldb.persist.LobStoreMem
super_class: java.lang.Object
{
final int lobBlockSize;
descriptor: I
flags: (0x0010) ACC_FINAL
int blocksInLargeBlock;
descriptor: I
flags: (0x0000)
int largeBlockSize;
descriptor: I
flags: (0x0000)
org.hsqldb.lib.HsqlArrayList byteStoreList;
descriptor: Lorg/hsqldb/lib/HsqlArrayList;
flags: (0x0000)
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // org.hsqldb.persist.LobStoreMem this
start local 1 // int lobBlockSize
0: .line 48
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 44
aload 0 /* this */
sipush 128
putfield org.hsqldb.persist.LobStoreMem.blocksInLargeBlock:I
2: .line 50
aload 0 /* this */
iload 1 /* lobBlockSize */
putfield org.hsqldb.persist.LobStoreMem.lobBlockSize:I
3: .line 51
aload 0 /* this */
iload 1 /* lobBlockSize */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.blocksInLargeBlock:I
imul
putfield org.hsqldb.persist.LobStoreMem.largeBlockSize:I
4: .line 52
aload 0 /* this */
new org.hsqldb.lib.HsqlArrayList
dup
invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
putfield org.hsqldb.persist.LobStoreMem.byteStoreList:Lorg/hsqldb/lib/HsqlArrayList;
5: .line 53
return
end local 1 // int lobBlockSize
end local 0 // org.hsqldb.persist.LobStoreMem this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hsqldb/persist/LobStoreMem;
0 6 1 lobBlockSize I
MethodParameters:
Name Flags
lobBlockSize
public byte[] getBlockBytes(int, int);
descriptor: (II)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=3
start local 0 // org.hsqldb.persist.LobStoreMem this
start local 1 // int blockAddress
start local 2 // int blockCount
0: .line 57
iload 2 /* blockCount */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.lobBlockSize:I
imul
newarray 8
astore 3 /* dataBytes */
start local 3 // byte[] dataBytes
1: .line 58
iconst_0
istore 4 /* dataBlockOffset */
start local 4 // int dataBlockOffset
2: .line 60
goto 16
3: .line 61
StackMap locals: byte[] int
StackMap stack:
iload 1 /* blockAddress */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.blocksInLargeBlock:I
idiv
istore 5 /* largeBlockIndex */
start local 5 // int largeBlockIndex
4: .line 62
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.byteStoreList:Lorg/hsqldb/lib/HsqlArrayList;
iload 5 /* largeBlockIndex */
invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
checkcast byte[]
astore 6 /* largeBlock */
start local 6 // byte[] largeBlock
5: .line 63
iload 1 /* blockAddress */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.blocksInLargeBlock:I
irem
istore 7 /* blockOffset */
start local 7 // int blockOffset
6: .line 64
iload 2 /* blockCount */
istore 8 /* currentBlockCount */
start local 8 // int currentBlockCount
7: .line 66
iload 7 /* blockOffset */
iload 8 /* currentBlockCount */
iadd
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.blocksInLargeBlock:I
if_icmple 9
8: .line 67
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.blocksInLargeBlock:I
iload 7 /* blockOffset */
isub
istore 8 /* currentBlockCount */
9: .line 70
StackMap locals: org.hsqldb.persist.LobStoreMem int int byte[] int int byte[] int int
StackMap stack:
aload 6 /* largeBlock */
iload 7 /* blockOffset */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.lobBlockSize:I
imul
10: .line 71
aload 3 /* dataBytes */
iload 4 /* dataBlockOffset */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.lobBlockSize:I
imul
11: .line 72
iload 8 /* currentBlockCount */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.lobBlockSize:I
imul
12: .line 70
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: .line 74
iload 1 /* blockAddress */
iload 8 /* currentBlockCount */
iadd
istore 1 /* blockAddress */
14: .line 75
iload 4 /* dataBlockOffset */
iload 8 /* currentBlockCount */
iadd
istore 4 /* dataBlockOffset */
15: .line 76
iload 2 /* blockCount */
iload 8 /* currentBlockCount */
isub
istore 2 /* blockCount */
end local 8 // int currentBlockCount
end local 7 // int blockOffset
end local 6 // byte[] largeBlock
end local 5 // int largeBlockIndex
16: .line 60
StackMap locals: org.hsqldb.persist.LobStoreMem int int byte[] int
StackMap stack:
iload 2 /* blockCount */
ifgt 3
17: .line 79
aload 3 /* dataBytes */
areturn
end local 4 // int dataBlockOffset
end local 3 // byte[] dataBytes
end local 2 // int blockCount
end local 1 // int blockAddress
end local 0 // org.hsqldb.persist.LobStoreMem this
LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/hsqldb/persist/LobStoreMem;
0 18 1 blockAddress I
0 18 2 blockCount I
1 18 3 dataBytes [B
2 18 4 dataBlockOffset I
4 16 5 largeBlockIndex I
5 16 6 largeBlock [B
6 16 7 blockOffset I
7 16 8 currentBlockCount I
MethodParameters:
Name Flags
blockAddress
blockCount
public void setBlockBytes(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=4
start local 0 // org.hsqldb.persist.LobStoreMem this
start local 1 // byte[] dataBytes
start local 2 // int blockAddress
start local 3 // int blockCount
0: .line 85
iconst_0
istore 4 /* dataBlockOffset */
start local 4 // int dataBlockOffset
1: .line 87
goto 17
2: .line 88
StackMap locals: int
StackMap stack:
iload 2 /* blockAddress */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.blocksInLargeBlock:I
idiv
istore 5 /* largeBlockIndex */
start local 5 // int largeBlockIndex
3: .line 90
iload 5 /* largeBlockIndex */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.byteStoreList:Lorg/hsqldb/lib/HsqlArrayList;
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
if_icmplt 5
4: .line 91
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.byteStoreList:Lorg/hsqldb/lib/HsqlArrayList;
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.largeBlockSize:I
newarray 8
invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
pop
5: .line 94
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.byteStoreList:Lorg/hsqldb/lib/HsqlArrayList;
iload 5 /* largeBlockIndex */
invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
checkcast byte[]
astore 6 /* largeBlock */
start local 6 // byte[] largeBlock
6: .line 95
iload 2 /* blockAddress */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.blocksInLargeBlock:I
irem
istore 7 /* blockOffset */
start local 7 // int blockOffset
7: .line 96
iload 3 /* blockCount */
istore 8 /* currentBlockCount */
start local 8 // int currentBlockCount
8: .line 98
iload 7 /* blockOffset */
iload 8 /* currentBlockCount */
iadd
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.blocksInLargeBlock:I
if_icmple 10
9: .line 99
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.blocksInLargeBlock:I
iload 7 /* blockOffset */
isub
istore 8 /* currentBlockCount */
10: .line 102
StackMap locals: byte[] int int
StackMap stack:
aload 1 /* dataBytes */
iload 4 /* dataBlockOffset */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.lobBlockSize:I
imul
11: .line 103
aload 6 /* largeBlock */
iload 7 /* blockOffset */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.lobBlockSize:I
imul
12: .line 104
iload 8 /* currentBlockCount */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.lobBlockSize:I
imul
13: .line 102
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: .line 106
iload 2 /* blockAddress */
iload 8 /* currentBlockCount */
iadd
istore 2 /* blockAddress */
15: .line 107
iload 4 /* dataBlockOffset */
iload 8 /* currentBlockCount */
iadd
istore 4 /* dataBlockOffset */
16: .line 108
iload 3 /* blockCount */
iload 8 /* currentBlockCount */
isub
istore 3 /* blockCount */
end local 8 // int currentBlockCount
end local 7 // int blockOffset
end local 6 // byte[] largeBlock
end local 5 // int largeBlockIndex
17: .line 87
StackMap locals: org.hsqldb.persist.LobStoreMem byte[] int int int
StackMap stack:
iload 3 /* blockCount */
ifgt 2
18: .line 110
return
end local 4 // int dataBlockOffset
end local 3 // int blockCount
end local 2 // int blockAddress
end local 1 // byte[] dataBytes
end local 0 // org.hsqldb.persist.LobStoreMem this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/hsqldb/persist/LobStoreMem;
0 19 1 dataBytes [B
0 19 2 blockAddress I
0 19 3 blockCount I
1 19 4 dataBlockOffset I
3 17 5 largeBlockIndex I
6 17 6 largeBlock [B
7 17 7 blockOffset I
8 17 8 currentBlockCount I
MethodParameters:
Name Flags
dataBytes
blockAddress
blockCount
public void setBlockBytes(byte[], long, int, int);
descriptor: ([BJII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=5
start local 0 // org.hsqldb.persist.LobStoreMem this
start local 1 // byte[] dataBytes
start local 2 // long position
start local 4 // int offset
start local 5 // int length
0: .line 115
goto 15
1: .line 116
StackMap locals:
StackMap stack:
lload 2 /* position */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.largeBlockSize:I
i2l
ldiv
l2i
istore 6 /* largeBlockIndex */
start local 6 // int largeBlockIndex
2: .line 118
iload 6 /* largeBlockIndex */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.byteStoreList:Lorg/hsqldb/lib/HsqlArrayList;
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
if_icmplt 4
3: .line 119
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.byteStoreList:Lorg/hsqldb/lib/HsqlArrayList;
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.largeBlockSize:I
newarray 8
invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
pop
4: .line 122
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.byteStoreList:Lorg/hsqldb/lib/HsqlArrayList;
iload 6 /* largeBlockIndex */
invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
checkcast byte[]
astore 7 /* largeBlock */
start local 7 // byte[] largeBlock
5: .line 123
lload 2 /* position */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.largeBlockSize:I
i2l
lrem
l2i
istore 8 /* offsetInLargeBlock */
start local 8 // int offsetInLargeBlock
6: .line 124
iload 5 /* length */
istore 9 /* currentLength */
start local 9 // int currentLength
7: .line 126
iload 8 /* offsetInLargeBlock */
iload 9 /* currentLength */
iadd
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.largeBlockSize:I
if_icmple 9
8: .line 127
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.largeBlockSize:I
iload 8 /* offsetInLargeBlock */
isub
istore 9 /* currentLength */
9: .line 130
StackMap locals: byte[] int int
StackMap stack:
aload 1 /* dataBytes */
iload 4 /* offset */
aload 7 /* largeBlock */
10: .line 131
iload 8 /* offsetInLargeBlock */
iload 9 /* currentLength */
11: .line 130
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: .line 133
lload 2 /* position */
iload 9 /* currentLength */
i2l
ladd
lstore 2 /* position */
13: .line 134
iload 4 /* offset */
iload 9 /* currentLength */
iadd
istore 4 /* offset */
14: .line 135
iload 5 /* length */
iload 9 /* currentLength */
isub
istore 5 /* length */
end local 9 // int currentLength
end local 8 // int offsetInLargeBlock
end local 7 // byte[] largeBlock
end local 6 // int largeBlockIndex
15: .line 115
StackMap locals: org.hsqldb.persist.LobStoreMem byte[] long int int
StackMap stack:
iload 5 /* length */
ifgt 1
16: .line 137
return
end local 5 // int length
end local 4 // int offset
end local 2 // long position
end local 1 // byte[] dataBytes
end local 0 // org.hsqldb.persist.LobStoreMem this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/hsqldb/persist/LobStoreMem;
0 17 1 dataBytes [B
0 17 2 position J
0 17 4 offset I
0 17 5 length I
2 15 6 largeBlockIndex I
5 15 7 largeBlock [B
6 15 8 offsetInLargeBlock I
7 15 9 currentLength I
MethodParameters:
Name Flags
dataBytes
position
offset
length
public int getBlockSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.hsqldb.persist.LobStoreMem this
0: .line 140
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.lobBlockSize:I
ireturn
end local 0 // org.hsqldb.persist.LobStoreMem this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/persist/LobStoreMem;
public long getLength();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 // org.hsqldb.persist.LobStoreMem this
0: .line 144
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.byteStoreList:Lorg/hsqldb/lib/HsqlArrayList;
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
i2l
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.largeBlockSize:I
i2l
lmul
lreturn
end local 0 // org.hsqldb.persist.LobStoreMem this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/persist/LobStoreMem;
public void setLength(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 // org.hsqldb.persist.LobStoreMem this
start local 1 // long length
0: .line 149
lload 1 /* length */
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.largeBlockSize:I
i2l
ldiv
l2i
istore 3 /* largeBlockIndex */
start local 3 // int largeBlockIndex
1: .line 151
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.byteStoreList:Lorg/hsqldb/lib/HsqlArrayList;
iload 3 /* largeBlockIndex */
iconst_1
iadd
invokevirtual org.hsqldb.lib.HsqlArrayList.setSize:(I)V
2: .line 152
return
end local 3 // int largeBlockIndex
end local 1 // long length
end local 0 // org.hsqldb.persist.LobStoreMem this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/hsqldb/persist/LobStoreMem;
0 3 1 length J
1 3 3 largeBlockIndex I
MethodParameters:
Name Flags
length
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.hsqldb.persist.LobStoreMem this
0: .line 155
aload 0 /* this */
getfield org.hsqldb.persist.LobStoreMem.byteStoreList:Lorg/hsqldb/lib/HsqlArrayList;
invokevirtual org.hsqldb.lib.HsqlArrayList.clear:()V
1: .line 156
return
end local 0 // org.hsqldb.persist.LobStoreMem this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hsqldb/persist/LobStoreMem;
public void synch();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 // org.hsqldb.persist.LobStoreMem this
0: .line 158
return
end local 0 // org.hsqldb.persist.LobStoreMem this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/persist/LobStoreMem;
}
SourceFile: "LobStoreMem.java"