public class org.h2.mvstore.WriteBuffer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.mvstore.WriteBuffer
  super_class: java.lang.Object
{
  private static final int MAX_REUSE_CAPACITY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4194304

  private static final int MIN_GROW;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1048576

  private java.nio.ByteBuffer reuse;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.ByteBuffer buff;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // int initialSize
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 37
            aload 0 /* this */
            iload 1 /* initialSize */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            putfield org.h2.mvstore.WriteBuffer.reuse:Ljava/nio/ByteBuffer;
         2: .line 38
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.reuse:Ljava/nio/ByteBuffer;
            putfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
         3: .line 39
            return
        end local 1 // int initialSize
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/h2/mvstore/WriteBuffer;
            0    4     1  initialSize  I
    MethodParameters:
             Name  Flags
      initialSize  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.mvstore.WriteBuffer this
         0: .line 42
            aload 0 /* this */
            ldc 1048576
            invokespecial org.h2.mvstore.WriteBuffer.<init>:(I)V
         1: .line 43
            return
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/WriteBuffer;

  public org.h2.mvstore.WriteBuffer putVarInt(int);
    descriptor: (I)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // int x
         0: .line 52
            aload 0 /* this */
            iconst_5
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            iload 1 /* x */
            invokestatic org.h2.mvstore.DataUtils.writeVarInt:(Ljava/nio/ByteBuffer;I)V
         1: .line 53
            aload 0 /* this */
            areturn
        end local 1 // int x
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1     x  I
    MethodParameters:
      Name  Flags
      x     

  public org.h2.mvstore.WriteBuffer putVarLong(long);
    descriptor: (J)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // long x
         0: .line 63
            aload 0 /* this */
            bipush 10
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            lload 1 /* x */
            invokestatic org.h2.mvstore.DataUtils.writeVarLong:(Ljava/nio/ByteBuffer;J)V
         1: .line 64
            aload 0 /* this */
            areturn
        end local 1 // long x
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1     x  J
    MethodParameters:
      Name  Flags
      x     

  public org.h2.mvstore.WriteBuffer putStringData(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // java.lang.String s
        start local 2 // int len
         0: .line 75
            aload 0 /* this */
            iconst_3
            iload 2 /* len */
            imul
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            astore 3 /* b */
        start local 3 // java.nio.ByteBuffer b
         1: .line 76
            aload 3 /* b */
            aload 1 /* s */
            iload 2 /* len */
            invokestatic org.h2.mvstore.DataUtils.writeStringData:(Ljava/nio/ByteBuffer;Ljava/lang/String;I)V
         2: .line 77
            aload 0 /* this */
            areturn
        end local 3 // java.nio.ByteBuffer b
        end local 2 // int len
        end local 1 // java.lang.String s
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    3     1     s  Ljava/lang/String;
            0    3     2   len  I
            1    3     3     b  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      s     
      len   

  public org.h2.mvstore.WriteBuffer put(byte);
    descriptor: (B)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // byte x
         0: .line 87
            aload 0 /* this */
            iconst_1
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            iload 1 /* x */
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         1: .line 88
            aload 0 /* this */
            areturn
        end local 1 // byte x
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1     x  B
    MethodParameters:
      Name  Flags
      x     

  public org.h2.mvstore.WriteBuffer putChar(char);
    descriptor: (C)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // char x
         0: .line 98
            aload 0 /* this */
            iconst_2
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            iload 1 /* x */
            invokevirtual java.nio.ByteBuffer.putChar:(C)Ljava/nio/ByteBuffer;
            pop
         1: .line 99
            aload 0 /* this */
            areturn
        end local 1 // char x
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1     x  C
    MethodParameters:
      Name  Flags
      x     

  public org.h2.mvstore.WriteBuffer putShort(short);
    descriptor: (S)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // short x
         0: .line 109
            aload 0 /* this */
            iconst_2
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            iload 1 /* x */
            invokevirtual java.nio.ByteBuffer.putShort:(S)Ljava/nio/ByteBuffer;
            pop
         1: .line 110
            aload 0 /* this */
            areturn
        end local 1 // short x
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1     x  S
    MethodParameters:
      Name  Flags
      x     

  public org.h2.mvstore.WriteBuffer putInt(int);
    descriptor: (I)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // int x
         0: .line 120
            aload 0 /* this */
            iconst_4
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            iload 1 /* x */
            invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
            pop
         1: .line 121
            aload 0 /* this */
            areturn
        end local 1 // int x
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1     x  I
    MethodParameters:
      Name  Flags
      x     

  public org.h2.mvstore.WriteBuffer putLong(long);
    descriptor: (J)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // long x
         0: .line 131
            aload 0 /* this */
            bipush 8
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            lload 1 /* x */
            invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
            pop
         1: .line 132
            aload 0 /* this */
            areturn
        end local 1 // long x
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1     x  J
    MethodParameters:
      Name  Flags
      x     

  public org.h2.mvstore.WriteBuffer putFloat(float);
    descriptor: (F)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // float x
         0: .line 142
            aload 0 /* this */
            iconst_4
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            fload 1 /* x */
            invokevirtual java.nio.ByteBuffer.putFloat:(F)Ljava/nio/ByteBuffer;
            pop
         1: .line 143
            aload 0 /* this */
            areturn
        end local 1 // float x
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1     x  F
    MethodParameters:
      Name  Flags
      x     

  public org.h2.mvstore.WriteBuffer putDouble(double);
    descriptor: (D)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // double x
         0: .line 153
            aload 0 /* this */
            bipush 8
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            dload 1 /* x */
            invokevirtual java.nio.ByteBuffer.putDouble:(D)Ljava/nio/ByteBuffer;
            pop
         1: .line 154
            aload 0 /* this */
            areturn
        end local 1 // double x
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1     x  D
    MethodParameters:
      Name  Flags
      x     

  public org.h2.mvstore.WriteBuffer put(byte[]);
    descriptor: ([B)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // byte[] bytes
         0: .line 164
            aload 0 /* this */
            aload 1 /* bytes */
            arraylength
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            aload 1 /* bytes */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
         1: .line 165
            aload 0 /* this */
            areturn
        end local 1 // byte[] bytes
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public org.h2.mvstore.WriteBuffer put(byte[], int, int);
    descriptor: ([BII)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // byte[] bytes
        start local 2 // int offset
        start local 3 // int length
         0: .line 177
            aload 0 /* this */
            iload 3 /* length */
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            aload 1 /* bytes */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
         1: .line 178
            aload 0 /* this */
            areturn
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] bytes
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1   bytes  [B
            0    2     2  offset  I
            0    2     3  length  I
    MethodParameters:
        Name  Flags
      bytes   
      offset  
      length  

  public org.h2.mvstore.WriteBuffer put(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // java.nio.ByteBuffer src
         0: .line 188
            aload 0 /* this */
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            aload 1 /* src */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
         1: .line 189
            aload 0 /* this */
            areturn
        end local 1 // java.nio.ByteBuffer src
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1   src  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      src   

  public org.h2.mvstore.WriteBuffer limit(int);
    descriptor: (I)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // int newLimit
         0: .line 199
            aload 0 /* this */
            iload 1 /* newLimit */
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.position:()I
            isub
            invokevirtual org.h2.mvstore.WriteBuffer.ensureCapacity:(I)Ljava/nio/ByteBuffer;
            iload 1 /* newLimit */
            invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
            pop
         1: .line 200
            aload 0 /* this */
            areturn
        end local 1 // int newLimit
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1  newLimit  I
    MethodParameters:
          Name  Flags
      newLimit  

  public int capacity();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.mvstore.WriteBuffer this
         0: .line 209
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.capacity:()I
            ireturn
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/WriteBuffer;

  public org.h2.mvstore.WriteBuffer position(int);
    descriptor: (I)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // int newPosition
         0: .line 219
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            iload 1 /* newPosition */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
         1: .line 220
            aload 0 /* this */
            areturn
        end local 1 // int newPosition
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1  newPosition  I
    MethodParameters:
             Name  Flags
      newPosition  

  public int limit();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.mvstore.WriteBuffer this
         0: .line 229
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.limit:()I
            ireturn
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/WriteBuffer;

  public int position();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.mvstore.WriteBuffer this
         0: .line 238
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.position:()I
            ireturn
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/WriteBuffer;

  public org.h2.mvstore.WriteBuffer get(byte[]);
    descriptor: ([B)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // byte[] dst
         0: .line 248
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            aload 1 /* dst */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         1: .line 249
            aload 0 /* this */
            areturn
        end local 1 // byte[] dst
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1   dst  [B
    MethodParameters:
      Name  Flags
      dst   

  public org.h2.mvstore.WriteBuffer putInt(int, int);
    descriptor: (II)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // int index
        start local 2 // int value
         0: .line 260
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            iload 1 /* index */
            iload 2 /* value */
            invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
            pop
         1: .line 261
            aload 0 /* this */
            areturn
        end local 2 // int value
        end local 1 // int index
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1  index  I
            0    2     2  value  I
    MethodParameters:
       Name  Flags
      index  
      value  

  public org.h2.mvstore.WriteBuffer putShort(int, short);
    descriptor: (IS)Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // int index
        start local 2 // short value
         0: .line 272
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            iload 1 /* index */
            iload 2 /* value */
            invokevirtual java.nio.ByteBuffer.putShort:(IS)Ljava/nio/ByteBuffer;
            pop
         1: .line 273
            aload 0 /* this */
            areturn
        end local 2 // short value
        end local 1 // int index
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/mvstore/WriteBuffer;
            0    2     1  index  I
            0    2     2  value  S
    MethodParameters:
       Name  Flags
      index  
      value  

  public org.h2.mvstore.WriteBuffer clear();
    descriptor: ()Lorg/h2/mvstore/WriteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.h2.mvstore.WriteBuffer this
         0: .line 282
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.limit:()I
            ldc 4194304
            if_icmple 3
         1: .line 283
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.reuse:Ljava/nio/ByteBuffer;
            putfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
         2: .line 284
            goto 5
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.reuse:Ljava/nio/ByteBuffer;
            if_acmpeq 5
         4: .line 285
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            putfield org.h2.mvstore.WriteBuffer.reuse:Ljava/nio/ByteBuffer;
         5: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
         6: .line 288
            aload 0 /* this */
            areturn
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/h2/mvstore/WriteBuffer;

  public java.nio.ByteBuffer getBuffer();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.mvstore.WriteBuffer this
         0: .line 297
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            areturn
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/mvstore/WriteBuffer;

  private java.nio.ByteBuffer ensureCapacity(int);
    descriptor: (I)Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // int len
         0: .line 301
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 1 /* len */
            if_icmpge 2
         1: .line 302
            aload 0 /* this */
            iload 1 /* len */
            invokevirtual org.h2.mvstore.WriteBuffer.grow:(I)V
         2: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            areturn
        end local 1 // int len
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/mvstore/WriteBuffer;
            0    3     1   len  I
    MethodParameters:
      Name  Flags
      len   

  private void grow(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.h2.mvstore.WriteBuffer this
        start local 1 // int additional
         0: .line 308
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            astore 2 /* temp */
        start local 2 // java.nio.ByteBuffer temp
         1: .line 309
            iload 1 /* additional */
            aload 2 /* temp */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            isub
            istore 3 /* needed */
        start local 3 // int needed
         2: .line 311
            iload 3 /* needed */
            ldc 1048576
            invokestatic java.lang.Math.max:(II)I
            i2l
            lstore 4 /* grow */
        start local 4 // long grow
         3: .line 313
            aload 2 /* temp */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            iconst_2
            idiv
            i2l
            lload 4 /* grow */
            invokestatic java.lang.Math.max:(JJ)J
            lstore 4 /* grow */
         4: .line 315
            ldc 2147483647
            aload 2 /* temp */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            i2l
            lload 4 /* grow */
            ladd
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            istore 6 /* newCapacity */
        start local 6 // int newCapacity
         5: .line 316
            iload 6 /* newCapacity */
            iload 3 /* needed */
            if_icmpge 7
         6: .line 317
            new java.lang.OutOfMemoryError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Capacity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* newCapacity */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " needed: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* needed */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 320
      StackMap locals: org.h2.mvstore.WriteBuffer int java.nio.ByteBuffer int long int
      StackMap stack:
            aload 0 /* this */
            iload 6 /* newCapacity */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            putfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
         8: .line 321
            goto 11
      StackMap locals:
      StackMap stack: java.lang.OutOfMemoryError
         9: pop
        10: .line 322
            new java.lang.OutOfMemoryError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Capacity: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* newCapacity */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 324
      StackMap locals:
      StackMap stack:
            aload 2 /* temp */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        12: .line 325
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            aload 2 /* temp */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        13: .line 326
            iload 6 /* newCapacity */
            ldc 4194304
            if_icmpgt 15
        14: .line 327
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.mvstore.WriteBuffer.buff:Ljava/nio/ByteBuffer;
            putfield org.h2.mvstore.WriteBuffer.reuse:Ljava/nio/ByteBuffer;
        15: .line 329
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int newCapacity
        end local 4 // long grow
        end local 3 // int needed
        end local 2 // java.nio.ByteBuffer temp
        end local 1 // int additional
        end local 0 // org.h2.mvstore.WriteBuffer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lorg/h2/mvstore/WriteBuffer;
            0   16     1   additional  I
            1   16     2         temp  Ljava/nio/ByteBuffer;
            2   16     3       needed  I
            3   16     4         grow  J
            5   16     6  newCapacity  I
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.OutOfMemoryError
    MethodParameters:
            Name  Flags
      additional  
}
SourceFile: "WriteBuffer.java"