class org.hsqldb.test.TestBench$MemoryWatcherThread extends java.lang.Thread
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.hsqldb.test.TestBench$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.TestBench this$0;
    descriptor: Lorg/hsqldb/test/TestBench;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(org.hsqldb.test.TestBench);
    descriptor: (Lorg/hsqldb/test/TestBench;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hsqldb.test.TestBench$MemoryWatcherThread this
         0: .line 1298
            aload 0 /* this */
            aload 1
            putfield org.hsqldb.test.TestBench$MemoryWatcherThread.this$0:Lorg/hsqldb/test/TestBench;
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:()V
         1: .line 1294
            aload 0 /* this */
            lconst_0
            putfield org.hsqldb.test.TestBench$MemoryWatcherThread.min:J
         2: .line 1295
            aload 0 /* this */
            lconst_0
            putfield org.hsqldb.test.TestBench$MemoryWatcherThread.max:J
         3: .line 1296
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.test.TestBench$MemoryWatcherThread.keep_running:Z
         4: .line 1300
            aload 0 /* this */
            invokevirtual org.hsqldb.test.TestBench$MemoryWatcherThread.reset:()V
         5: .line 1302
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.test.TestBench$MemoryWatcherThread.keep_running:Z
         6: .line 1303
            return
        end local 0 // org.hsqldb.test.TestBench$MemoryWatcherThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hsqldb/test/TestBench$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.TestBench$MemoryWatcherThread this
         0: .line 1307
            invokestatic java.lang.System.gc:()V
         1: .line 1309
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.freeMemory:()J
            lstore 1 /* currentFree */
        start local 1 // long currentFree
         2: .line 1310
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.totalMemory:()J
            lstore 3 /* currentAlloc */
        start local 3 // long currentAlloc
         3: .line 1312
            aload 0 /* this */
            aload 0 /* this */
            lload 3 /* currentAlloc */
            lload 1 /* currentFree */
            lsub
            dup2_x1
            putfield org.hsqldb.test.TestBench$MemoryWatcherThread.max:J
            putfield org.hsqldb.test.TestBench$MemoryWatcherThread.min:J
         4: .line 1313
            return
        end local 3 // long currentAlloc
        end local 1 // long currentFree
        end local 0 // org.hsqldb.test.TestBench$MemoryWatcherThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/hsqldb/test/TestBench$MemoryWatcherThread;
            2    5     1   currentFree  J
            3    5     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.TestBench$MemoryWatcherThread this
         0: .line 1316
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.test.TestBench$MemoryWatcherThread.keep_running:Z
         1: .line 1317
            return
        end local 0 // org.hsqldb.test.TestBench$MemoryWatcherThread this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/test/TestBench$MemoryWatcherThread;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.hsqldb.test.TestBench$MemoryWatcherThread this
         0: .line 1321
            goto 11
         1: .line 1322
      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 1323
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.totalMemory:()J
            lstore 3 /* currentAlloc */
        start local 3 // long currentAlloc
         3: .line 1324
            lload 3 /* currentAlloc */
            lload 1 /* currentFree */
            lsub
            lstore 5 /* used */
        start local 5 // long used
         4: .line 1326
            lload 5 /* used */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench$MemoryWatcherThread.min:J
            lcmp
            ifge 6
         5: .line 1327
            aload 0 /* this */
            lload 5 /* used */
            putfield org.hsqldb.test.TestBench$MemoryWatcherThread.min:J
         6: .line 1330
      StackMap locals: long long long
      StackMap stack:
            lload 5 /* used */
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench$MemoryWatcherThread.max:J
            lcmp
            ifle 8
         7: .line 1331
            aload 0 /* this */
            lload 5 /* used */
            putfield org.hsqldb.test.TestBench$MemoryWatcherThread.max:J
         8: .line 1335
      StackMap locals:
      StackMap stack:
            ldc 100
            invokestatic org.hsqldb.test.TestBench$MemoryWatcherThread.sleep:(J)V
         9: .line 1336
            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 1321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.test.TestBench$MemoryWatcherThread.keep_running:Z
            ifne 1
        12: .line 1338
            return
        end local 0 // org.hsqldb.test.TestBench$MemoryWatcherThread this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/hsqldb/test/TestBench$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: "TestBench.java"
NestHost: org.hsqldb.test.TestBench
InnerClasses:
  MemoryWatcherThread = org.hsqldb.test.TestBench$MemoryWatcherThread of org.hsqldb.test.TestBench