class org.hsqldb.test.JDBCBench$MemoryWatcherThread extends java.lang.Thread
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.hsqldb.test.JDBCBench$MemoryWatcherThread
  super_class: java.lang.Thread
{
  long min;
    descriptor: J
    flags: (0x0000) 

  long max;
    descriptor: J
    flags: (0x0000) 

  boolean keep_running;
    descriptor: Z
    flags: (0x0000) 

  final org.hsqldb.test.JDBCBench this$0;
    descriptor: Lorg/hsqldb/test/JDBCBench;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.hsqldb.test.JDBCBench);
    descriptor: (Lorg/hsqldb/test/JDBCBench;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hsqldb.test.JDBCBench$MemoryWatcherThread this
         0: .line 1075
            aload 0 /* this */
            aload 1
            putfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.this$0:Lorg/hsqldb/test/JDBCBench;
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:()V
         1: .line 1071
            aload 0 /* this */
            lconst_0
            putfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.min:J
         2: .line 1072
            aload 0 /* this */
            lconst_0
            putfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.max:J
         3: .line 1073
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.keep_running:Z
         4: .line 1077
            aload 0 /* this */
            invokevirtual org.hsqldb.test.JDBCBench$MemoryWatcherThread.reset:()V
         5: .line 1079
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.keep_running:Z
         6: .line 1080
            return
        end local 0 // org.hsqldb.test.JDBCBench$MemoryWatcherThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hsqldb/test/JDBCBench$MemoryWatcherThread;
    MethodParameters:
        Name  Flags
      this$0  final

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.hsqldb.test.JDBCBench$MemoryWatcherThread this
         0: .line 1084
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.freeMemory:()J
            lstore 1 /* currentFree */
        start local 1 // long currentFree
         1: .line 1085
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.totalMemory:()J
            lstore 3 /* currentAlloc */
        start local 3 // long currentAlloc
         2: .line 1087
            aload 0 /* this */
            aload 0 /* this */
            lload 3 /* currentAlloc */
            lload 1 /* currentFree */
            lsub
            dup2_x1
            putfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.max:J
            putfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.min:J
         3: .line 1088
            return
        end local 3 // long currentAlloc
        end local 1 // long currentFree
        end local 0 // org.hsqldb.test.JDBCBench$MemoryWatcherThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/hsqldb/test/JDBCBench$MemoryWatcherThread;
            1    4     1   currentFree  J
            2    4     3  currentAlloc  J

  public void end();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.test.JDBCBench$MemoryWatcherThread this
         0: .line 1091
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.keep_running:Z
         1: .line 1092
            return
        end local 0 // org.hsqldb.test.JDBCBench$MemoryWatcherThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/test/JDBCBench$MemoryWatcherThread;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.hsqldb.test.JDBCBench$MemoryWatcherThread this
         0: .line 1096
            goto 11
         1: .line 1097
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.freeMemory:()J
            lstore 1 /* currentFree */
        start local 1 // long currentFree
         2: .line 1098
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.totalMemory:()J
            lstore 3 /* currentAlloc */
        start local 3 // long currentAlloc
         3: .line 1099
            lload 3 /* currentAlloc */
            lload 1 /* currentFree */
            lsub
            lstore 5 /* used */
        start local 5 // long used
         4: .line 1101
            lload 5 /* used */
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.min:J
            lcmp
            ifge 6
         5: .line 1102
            aload 0 /* this */
            lload 5 /* used */
            putfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.min:J
         6: .line 1105
      StackMap locals: long long long
      StackMap stack:
            lload 5 /* used */
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.max:J
            lcmp
            ifle 8
         7: .line 1106
            aload 0 /* this */
            lload 5 /* used */
            putfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.max:J
         8: .line 1110
      StackMap locals:
      StackMap stack:
            ldc 100
            invokestatic org.hsqldb.test.JDBCBench$MemoryWatcherThread.sleep:(J)V
         9: .line 1111
            goto 11
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        10: pop
        end local 5 // long used
        end local 3 // long currentAlloc
        end local 1 // long currentFree
        11: .line 1096
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.JDBCBench$MemoryWatcherThread.keep_running:Z
            ifne 1
        12: .line 1113
            return
        end local 0 // org.hsqldb.test.JDBCBench$MemoryWatcherThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/hsqldb/test/JDBCBench$MemoryWatcherThread;
            2   11     1   currentFree  J
            3   11     3  currentAlloc  J
            4   11     5          used  J
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.InterruptedException
}
SourceFile: "JDBCBench.java"
NestHost: org.hsqldb.test.JDBCBench
InnerClasses:
  MemoryWatcherThread = org.hsqldb.test.JDBCBench$MemoryWatcherThread of org.hsqldb.test.JDBCBench