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"