public class org.h2.mvstore.FreeSpaceBitSet
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.mvstore.FreeSpaceBitSet
  super_class: java.lang.Object
{
  private static final boolean DETAILED_INFO;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private final int firstFreeBlock;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int blockSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.BitSet set;
    descriptor: Ljava/util/BitSet;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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: .line 15
            ldc Lorg/h2/mvstore/FreeSpaceBitSet;
            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.h2.mvstore.FreeSpaceBitSet.$assertionsDisabled:Z
         3: .line 17
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
        start local 1 // int firstFreeBlock
        start local 2 // int blockSize
         0: .line 40
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 32
            aload 0 /* this */
            new java.util.BitSet
            dup
            invokespecial java.util.BitSet.<init>:()V
            putfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
         2: .line 41
            aload 0 /* this */
            iload 1 /* firstFreeBlock */
            putfield org.h2.mvstore.FreeSpaceBitSet.firstFreeBlock:I
         3: .line 42
            aload 0 /* this */
            iload 2 /* blockSize */
            putfield org.h2.mvstore.FreeSpaceBitSet.blockSize:I
         4: .line 43
            aload 0 /* this */
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.clear:()V
         5: .line 44
            return
        end local 2 // int blockSize
        end local 1 // int firstFreeBlock
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lorg/h2/mvstore/FreeSpaceBitSet;
            0    6     1  firstFreeBlock  I
            0    6     2       blockSize  I
    MethodParameters:
                Name  Flags
      firstFreeBlock  
      blockSize       

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
         0: .line 50
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            invokevirtual java.util.BitSet.clear:()V
         1: .line 51
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iconst_0
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.firstFreeBlock:I
            invokevirtual java.util.BitSet.set:(II)V
         2: .line 52
            return
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/mvstore/FreeSpaceBitSet;

  public boolean isUsed(long, int);
    descriptor: (JI)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
        start local 1 // long pos
        start local 3 // int length
         0: .line 62
            aload 0 /* this */
            lload 1 /* pos */
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.getBlock:(J)I
            istore 4 /* start */
        start local 4 // int start
         1: .line 63
            aload 0 /* this */
            iload 3 /* length */
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.getBlockCount:(I)I
            istore 5 /* blocks */
        start local 5 // int blocks
         2: .line 64
            iload 4 /* start */
            istore 6 /* i */
        start local 6 // int i
         3: goto 7
         4: .line 65
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 6 /* i */
            invokevirtual java.util.BitSet.get:(I)Z
            ifne 6
         5: .line 66
            iconst_0
            ireturn
         6: .line 64
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            iload 4 /* start */
            iload 5 /* blocks */
            iadd
            if_icmplt 4
        end local 6 // int i
         8: .line 69
            iconst_1
            ireturn
        end local 5 // int blocks
        end local 4 // int start
        end local 3 // int length
        end local 1 // long pos
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/h2/mvstore/FreeSpaceBitSet;
            0    9     1     pos  J
            0    9     3  length  I
            1    9     4   start  I
            2    9     5  blocks  I
            3    8     6       i  I
    MethodParameters:
        Name  Flags
      pos     
      length  

  public boolean isFree(long, int);
    descriptor: (JI)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
        start local 1 // long pos
        start local 3 // int length
         0: .line 80
            aload 0 /* this */
            lload 1 /* pos */
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.getBlock:(J)I
            istore 4 /* start */
        start local 4 // int start
         1: .line 81
            aload 0 /* this */
            iload 3 /* length */
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.getBlockCount:(I)I
            istore 5 /* blocks */
        start local 5 // int blocks
         2: .line 82
            iload 4 /* start */
            istore 6 /* i */
        start local 6 // int i
         3: goto 7
         4: .line 83
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 6 /* i */
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 6
         5: .line 84
            iconst_0
            ireturn
         6: .line 82
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            iload 4 /* start */
            iload 5 /* blocks */
            iadd
            if_icmplt 4
        end local 6 // int i
         8: .line 87
            iconst_1
            ireturn
        end local 5 // int blocks
        end local 4 // int start
        end local 3 // int length
        end local 1 // long pos
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/h2/mvstore/FreeSpaceBitSet;
            0    9     1     pos  J
            0    9     3  length  I
            1    9     4   start  I
            2    9     5  blocks  I
            3    8     6       i  I
    MethodParameters:
        Name  Flags
      pos     
      length  

  public long allocate(int);
    descriptor: (I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
        start local 1 // int length
         0: .line 97
            aload 0 /* this */
            iload 1 /* length */
            iconst_1
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.allocate:(IZ)J
            lreturn
        end local 1 // int length
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/h2/mvstore/FreeSpaceBitSet;
            0    1     1  length  I
    MethodParameters:
        Name  Flags
      length  

  public long predictAllocation(int);
    descriptor: (I)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
        start local 1 // int length
         0: .line 107
            aload 0 /* this */
            iload 1 /* length */
            iconst_0
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.allocate:(IZ)J
            lreturn
        end local 1 // int length
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/h2/mvstore/FreeSpaceBitSet;
            0    1     1  length  I
    MethodParameters:
        Name  Flags
      length  

  private long allocate(int, boolean);
    descriptor: (IZ)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
        start local 1 // int length
        start local 2 // boolean allocate
         0: .line 111
            aload 0 /* this */
            iload 1 /* length */
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.getBlockCount:(I)I
            istore 3 /* blocks */
        start local 3 // int blocks
         1: .line 112
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: .line 113
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 4 /* i */
            invokevirtual java.util.BitSet.nextClearBit:(I)I
            istore 5 /* start */
        start local 5 // int start
         3: .line 114
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 5 /* start */
            iconst_1
            iadd
            invokevirtual java.util.BitSet.nextSetBit:(I)I
            istore 6 /* end */
        start local 6 // int end
         4: .line 115
            iload 6 /* end */
            iflt 5
            iload 6 /* end */
            iload 5 /* start */
            isub
            iload 3 /* blocks */
            if_icmplt 10
         5: .line 116
      StackMap locals: int int
      StackMap stack:
            getstatic org.h2.mvstore.FreeSpaceBitSet.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 5 /* start */
            invokevirtual java.util.BitSet.nextSetBit:(I)I
            iconst_m1
            if_icmpeq 7
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 5 /* start */
            invokevirtual java.util.BitSet.nextSetBit:(I)I
            iload 5 /* start */
            iload 3 /* blocks */
            iadd
            if_icmpge 7
            new java.lang.AssertionError
            dup
         6: .line 117
            new java.lang.StringBuilder
            dup
            ldc "Double alloc: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* start */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* blocks */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 118
      StackMap locals:
      StackMap stack:
            iload 2 /* allocate */
            ifeq 9
         8: .line 119
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 5 /* start */
            iload 5 /* start */
            iload 3 /* blocks */
            iadd
            invokevirtual java.util.BitSet.set:(II)V
         9: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* start */
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.getPos:(I)J
            lreturn
        10: .line 123
      StackMap locals:
      StackMap stack:
            iload 6 /* end */
            istore 4 /* i */
        end local 6 // int end
        end local 5 // int start
        11: .line 112
            goto 2
        end local 4 // int i
        end local 3 // int blocks
        end local 2 // boolean allocate
        end local 1 // int length
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/h2/mvstore/FreeSpaceBitSet;
            0   12     1    length  I
            0   12     2  allocate  Z
            1   12     3    blocks  I
            2   12     4         i  I
            3   11     5     start  I
            4   11     6       end  I
    MethodParameters:
          Name  Flags
      length    
      allocate  

  public void markUsed(long, int);
    descriptor: (JI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
        start local 1 // long pos
        start local 3 // int length
         0: .line 134
            aload 0 /* this */
            lload 1 /* pos */
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.getBlock:(J)I
            istore 4 /* start */
        start local 4 // int start
         1: .line 135
            aload 0 /* this */
            iload 3 /* length */
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.getBlockCount:(I)I
            istore 5 /* blocks */
        start local 5 // int blocks
         2: .line 136
            getstatic org.h2.mvstore.FreeSpaceBitSet.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 4 /* start */
            invokevirtual java.util.BitSet.nextSetBit:(I)I
            iconst_m1
            if_icmpeq 4
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 4 /* start */
            invokevirtual java.util.BitSet.nextSetBit:(I)I
            iload 4 /* start */
            iload 5 /* blocks */
            iadd
            if_icmpge 4
            new java.lang.AssertionError
            dup
         3: .line 137
            new java.lang.StringBuilder
            dup
            ldc "Double mark: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* start */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* blocks */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 138
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 4 /* start */
            iload 4 /* start */
            iload 5 /* blocks */
            iadd
            invokevirtual java.util.BitSet.set:(II)V
         5: .line 139
            return
        end local 5 // int blocks
        end local 4 // int start
        end local 3 // int length
        end local 1 // long pos
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/h2/mvstore/FreeSpaceBitSet;
            0    6     1     pos  J
            0    6     3  length  I
            1    6     4   start  I
            2    6     5  blocks  I
    MethodParameters:
        Name  Flags
      pos     
      length  

  public void free(long, int);
    descriptor: (JI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
        start local 1 // long pos
        start local 3 // int length
         0: .line 148
            aload 0 /* this */
            lload 1 /* pos */
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.getBlock:(J)I
            istore 4 /* start */
        start local 4 // int start
         1: .line 149
            aload 0 /* this */
            iload 3 /* length */
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.getBlockCount:(I)I
            istore 5 /* blocks */
        start local 5 // int blocks
         2: .line 150
            getstatic org.h2.mvstore.FreeSpaceBitSet.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 4 /* start */
            invokevirtual java.util.BitSet.nextClearBit:(I)I
            iload 4 /* start */
            iload 5 /* blocks */
            iadd
            if_icmpge 4
            new java.lang.AssertionError
            dup
         3: .line 151
            new java.lang.StringBuilder
            dup
            ldc "Double free: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* start */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* blocks */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 152
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 4 /* start */
            iload 4 /* start */
            iload 5 /* blocks */
            iadd
            invokevirtual java.util.BitSet.clear:(II)V
         5: .line 153
            return
        end local 5 // int blocks
        end local 4 // int start
        end local 3 // int length
        end local 1 // long pos
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/h2/mvstore/FreeSpaceBitSet;
            0    6     1     pos  J
            0    6     3  length  I
            1    6     4   start  I
            2    6     5  blocks  I
    MethodParameters:
        Name  Flags
      pos     
      length  

  private long getPos(int);
    descriptor: (I)J
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
        start local 1 // int block
         0: .line 156
            iload 1 /* block */
            i2l
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.blockSize:I
            i2l
            lmul
            lreturn
        end local 1 // int block
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/h2/mvstore/FreeSpaceBitSet;
            0    1     1  block  I
    MethodParameters:
       Name  Flags
      block  

  private int getBlock(long);
    descriptor: (J)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
        start local 1 // long pos
         0: .line 160
            lload 1 /* pos */
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.blockSize:I
            i2l
            ldiv
            l2i
            ireturn
        end local 1 // long pos
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/FreeSpaceBitSet;
            0    1     1   pos  J
    MethodParameters:
      Name  Flags
      pos   

  private int getBlockCount(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
        start local 1 // int length
         0: .line 164
            iload 1 /* length */
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.blockSize:I
            invokestatic org.h2.util.MathUtils.roundUpInt:(II)I
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.blockSize:I
            idiv
            ireturn
        end local 1 // int length
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/h2/mvstore/FreeSpaceBitSet;
            0    1     1  length  I
    MethodParameters:
        Name  Flags
      length  

  public int getFillRate();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
         0: .line 174
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            invokevirtual java.util.BitSet.cardinality:()I
            istore 1 /* cardinality */
        start local 1 // int cardinality
         1: .line 175
            iload 1 /* cardinality */
            ifne 3
         2: .line 176
            iconst_0
            ireturn
         3: .line 178
      StackMap locals: int
      StackMap stack:
            iconst_1
            ldc 100
            iload 1 /* cardinality */
            i2l
            lmul
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            invokevirtual java.util.BitSet.length:()I
            i2l
            ldiv
            l2i
            invokestatic java.lang.Math.max:(II)I
            ireturn
        end local 1 // int cardinality
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/h2/mvstore/FreeSpaceBitSet;
            1    4     1  cardinality  I

  public long getFirstFree();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
         0: .line 187
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iconst_0
            invokevirtual java.util.BitSet.nextClearBit:(I)I
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.getPos:(I)J
            lreturn
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/FreeSpaceBitSet;

  public long getLastFree();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
         0: .line 196
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            invokevirtual java.util.BitSet.size:()I
            iconst_1
            isub
            invokevirtual java.util.BitSet.previousSetBit:(I)I
            iconst_1
            iadd
            invokevirtual org.h2.mvstore.FreeSpaceBitSet.getPos:(I)J
            lreturn
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/FreeSpaceBitSet;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.h2.mvstore.FreeSpaceBitSet this
         0: .line 201
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* buff */
        start local 1 // java.lang.StringBuilder buff
         1: .line 221
            aload 1 /* buff */
            bipush 91
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 222
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: .line 223
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 2 /* i */
            ifle 5
         4: .line 224
            aload 1 /* buff */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 2 /* i */
            invokevirtual java.util.BitSet.nextClearBit:(I)I
            istore 3 /* start */
        start local 3 // int start
         6: .line 227
            aload 1 /* buff */
            iload 3 /* start */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 228
            aload 0 /* this */
            getfield org.h2.mvstore.FreeSpaceBitSet.set:Ljava/util/BitSet;
            iload 3 /* start */
            iconst_1
            iadd
            invokevirtual java.util.BitSet.nextSetBit:(I)I
            istore 4 /* end */
        start local 4 // int end
         8: .line 229
            iload 4 /* end */
            ifge 10
         9: .line 230
            goto 13
        10: .line 232
      StackMap locals: int int
      StackMap stack:
            aload 1 /* buff */
            iload 4 /* end */
            iconst_1
            isub
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 233
            iload 4 /* end */
            iconst_1
            iadd
            istore 2 /* i */
        end local 4 // int end
        end local 3 // int start
        12: .line 222
            goto 3
        end local 2 // int i
        13: .line 235
      StackMap locals:
      StackMap stack:
            aload 1 /* buff */
            bipush 93
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 236
            aload 1 /* buff */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder buff
        end local 0 // org.h2.mvstore.FreeSpaceBitSet this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lorg/h2/mvstore/FreeSpaceBitSet;
            1   15     1   buff  Ljava/lang/StringBuilder;
            3   13     2      i  I
            6   12     3  start  I
            8   12     4    end  I
}
SourceFile: "FreeSpaceBitSet.java"