class sun.jvm.hotspot.CommandProcessor$16 extends sun.jvm.hotspot.CommandProcessor$Command
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.jvm.hotspot.CommandProcessor$16
  super_class: sun.jvm.hotspot.CommandProcessor$Command
{
  final sun.jvm.hotspot.CommandProcessor this$0;
    descriptor: Lsun/jvm/hotspot/CommandProcessor;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(sun.jvm.hotspot.CommandProcessor, sun.jvm.hotspot.CommandProcessor, java.lang.String, java.lang.String, boolean);
    descriptor: (Lsun/jvm/hotspot/CommandProcessor;Lsun/jvm/hotspot/CommandProcessor;Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // sun.jvm.hotspot.CommandProcessor$16 this
        start local 3 // java.lang.String $anonymous0
        start local 4 // java.lang.String $anonymous1
        start local 5 // boolean $anonymous2
         0: .line 786
            aload 0 /* this */
            aload 2
            putfield sun.jvm.hotspot.CommandProcessor$16.this$0:Lsun/jvm/hotspot/CommandProcessor;
            aload 0 /* this */
            aload 1
            aload 3 /* $anonymous0 */
            aload 4 /* $anonymous1 */
            iload 5 /* $anonymous2 */
            invokespecial sun.jvm.hotspot.CommandProcessor$Command.<init>:(Lsun/jvm/hotspot/CommandProcessor;Ljava/lang/String;Ljava/lang/String;Z)V
            return
        end local 5 // boolean $anonymous2
        end local 4 // java.lang.String $anonymous1
        end local 3 // java.lang.String $anonymous0
        end local 0 // sun.jvm.hotspot.CommandProcessor$16 this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lsun/jvm/hotspot/CommandProcessor$16;
            0    1     3  $anonymous0  Ljava/lang/String;
            0    1     4  $anonymous1  Ljava/lang/String;
            0    1     5  $anonymous2  Z
    MethodParameters:
             Name  Flags
      this$0       final
      this$1       final
      $anonymous0  
      $anonymous1  
      $anonymous2  

  public void doit(sun.jvm.hotspot.CommandProcessor$Tokens);
    descriptor: (Lsun/jvm/hotspot/CommandProcessor$Tokens;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // sun.jvm.hotspot.CommandProcessor$16 this
        start local 1 // sun.jvm.hotspot.CommandProcessor$Tokens t
         0: .line 788
            aload 1 /* t */
            invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.countTokens:()I
            istore 2 /* tokens */
        start local 2 // int tokens
         1: .line 789
            iload 2 /* tokens */
            iconst_1
            if_icmpeq 4
            iload 2 /* tokens */
            iconst_2
            if_icmpne 2
            aload 1 /* t */
            invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.nextToken:()Ljava/lang/String;
            ldc "-c"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
         2: .line 790
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.jvm.hotspot.CommandProcessor$16.usage:()V
         3: .line 791
            return
         4: .line 793
      StackMap locals:
      StackMap stack:
            iload 2 /* tokens */
            iconst_2
            if_icmpne 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 3 /* chase */
        start local 3 // boolean chase
         7: .line 794
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getRevPtrs:()Lsun/jvm/hotspot/utilities/ReversePtrs;
            astore 4 /* revptrs */
        start local 4 // sun.jvm.hotspot.utilities.ReversePtrs revptrs
         8: .line 795
            aload 4 /* revptrs */
            ifnonnull 27
         9: .line 796
            aload 0 /* this */
            getfield sun.jvm.hotspot.CommandProcessor$16.this$0:Lsun/jvm/hotspot/CommandProcessor;
            getfield sun.jvm.hotspot.CommandProcessor.out:Ljava/io/PrintStream;
            ldc "Computing reverse pointers..."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 797
            new sun.jvm.hotspot.utilities.ReversePtrsAnalysis
            dup
            invokespecial sun.jvm.hotspot.utilities.ReversePtrsAnalysis.<init>:()V
            astore 5 /* analysis */
        start local 5 // sun.jvm.hotspot.utilities.ReversePtrsAnalysis analysis
        11: .line 798
            iconst_1
            newarray 4
            astore 6 /* complete */
        start local 6 // boolean[] complete
        12: .line 799
            new sun.jvm.hotspot.CommandProcessor$16$1
            dup
            aload 0 /* this */
            aload 6 /* complete */
            invokespecial sun.jvm.hotspot.CommandProcessor$16$1.<init>:(Lsun/jvm/hotspot/CommandProcessor$16;[Z)V
            astore 7 /* thunk */
        start local 7 // sun.jvm.hotspot.utilities.HeapProgressThunk thunk
        13: .line 806
            aload 5 /* analysis */
            aload 7 /* thunk */
            invokevirtual sun.jvm.hotspot.utilities.ReversePtrsAnalysis.setHeapProgressThunk:(Lsun/jvm/hotspot/utilities/HeapProgressThunk;)V
        14: .line 807
            aload 5 /* analysis */
            invokevirtual sun.jvm.hotspot.utilities.ReversePtrsAnalysis.run:()V
        15: .line 808
            goto 24
        16: .line 809
      StackMap locals: sun.jvm.hotspot.CommandProcessor$16 sun.jvm.hotspot.CommandProcessor$Tokens int int sun.jvm.hotspot.utilities.ReversePtrs sun.jvm.hotspot.utilities.ReversePtrsAnalysis boolean[] sun.jvm.hotspot.utilities.HeapProgressThunk
      StackMap stack:
            aload 7 /* thunk */
            dup
            astore 8
            monitorenter
        17: .line 811
            aload 7 /* thunk */
            invokevirtual java.lang.Object.wait:()V
        18: .line 812
            goto 20
      StackMap locals: sun.jvm.hotspot.CommandProcessor$16 sun.jvm.hotspot.CommandProcessor$Tokens int int sun.jvm.hotspot.utilities.ReversePtrs sun.jvm.hotspot.utilities.ReversePtrsAnalysis boolean[] sun.jvm.hotspot.utilities.HeapProgressThunk sun.jvm.hotspot.utilities.HeapProgressThunk
      StackMap stack: java.lang.Exception
        19: pop
        20: .line 809
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        21: goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: aload 8
            monitorexit
        23: athrow
        24: .line 808
      StackMap locals:
      StackMap stack:
            aload 6 /* complete */
            iconst_0
            baload
            ifeq 16
        25: .line 816
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getRevPtrs:()Lsun/jvm/hotspot/utilities/ReversePtrs;
            astore 4 /* revptrs */
        26: .line 817
            aload 0 /* this */
            getfield sun.jvm.hotspot.CommandProcessor$16.this$0:Lsun/jvm/hotspot/CommandProcessor;
            getfield sun.jvm.hotspot.CommandProcessor.out:Ljava/io/PrintStream;
            ldc "Done."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 7 // sun.jvm.hotspot.utilities.HeapProgressThunk thunk
        end local 6 // boolean[] complete
        end local 5 // sun.jvm.hotspot.utilities.ReversePtrsAnalysis analysis
        27: .line 819
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getDebugger:()Lsun/jvm/hotspot/debugger/JVMDebugger;
            aload 1 /* t */
            invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.nextToken:()Ljava/lang/String;
            invokeinterface sun.jvm.hotspot.debugger.JVMDebugger.parseAddress:(Ljava/lang/String;)Lsun/jvm/hotspot/debugger/Address;
            astore 5 /* a */
        start local 5 // sun.jvm.hotspot.debugger.Address a
        28: .line 820
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getUniverse:()Lsun/jvm/hotspot/memory/Universe;
            invokevirtual sun.jvm.hotspot.memory.Universe.heap:()Lsun/jvm/hotspot/gc/shared/CollectedHeap;
            aload 5 /* a */
            invokevirtual sun.jvm.hotspot.gc.shared.CollectedHeap.isInReserved:(Lsun/jvm/hotspot/debugger/Address;)Z
            ifeq 53
        29: .line 821
            aload 5 /* a */
            lconst_0
            invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetToAsOopHandle:(J)Lsun/jvm/hotspot/debugger/OopHandle;
            astore 6 /* handle */
        start local 6 // sun.jvm.hotspot.debugger.OopHandle handle
        30: .line 822
            invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
            invokevirtual sun.jvm.hotspot.runtime.VM.getObjectHeap:()Lsun/jvm/hotspot/oops/ObjectHeap;
            aload 6 /* handle */
            invokevirtual sun.jvm.hotspot.oops.ObjectHeap.newOop:(Lsun/jvm/hotspot/debugger/OopHandle;)Lsun/jvm/hotspot/oops/Oop;
            astore 7 /* oop */
        start local 7 // sun.jvm.hotspot.oops.Oop oop
        31: .line 823
            aload 4 /* revptrs */
            aload 7 /* oop */
            invokevirtual sun.jvm.hotspot.utilities.ReversePtrs.get:(Lsun/jvm/hotspot/oops/Oop;)Ljava/util/ArrayList;
            astore 8 /* ptrs */
        start local 8 // java.util.ArrayList ptrs
        32: .line 824
            aload 8 /* ptrs */
            ifnonnull 35
        33: .line 825
            aload 0 /* this */
            getfield sun.jvm.hotspot.CommandProcessor$16.this$0:Lsun/jvm/hotspot/CommandProcessor;
            getfield sun.jvm.hotspot.CommandProcessor.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "no live references to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* a */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        34: .line 826
            goto 53
        35: .line 827
      StackMap locals: sun.jvm.hotspot.CommandProcessor$16 sun.jvm.hotspot.CommandProcessor$Tokens int int sun.jvm.hotspot.utilities.ReversePtrs sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.OopHandle sun.jvm.hotspot.oops.Oop java.util.ArrayList
      StackMap stack:
            iload 3 /* chase */
            ifeq 44
        36: .line 828
            goto 42
        37: .line 829
      StackMap locals:
      StackMap stack:
            aload 8 /* ptrs */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.utilities.LivenessPathElement
            astore 9 /* e */
        start local 9 // sun.jvm.hotspot.utilities.LivenessPathElement e
        38: .line 830
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 10 /* bos */
        start local 10 // java.io.ByteArrayOutputStream bos
        39: .line 831
            aload 9 /* e */
            invokevirtual sun.jvm.hotspot.utilities.LivenessPathElement.getObj:()Lsun/jvm/hotspot/oops/Oop;
            new java.io.PrintStream
            dup
            aload 10 /* bos */
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            invokestatic sun.jvm.hotspot.oops.Oop.printOopValueOn:(Lsun/jvm/hotspot/oops/Oop;Ljava/io/PrintStream;)V
        40: .line 832
            aload 0 /* this */
            getfield sun.jvm.hotspot.CommandProcessor$16.this$0:Lsun/jvm/hotspot/CommandProcessor;
            getfield sun.jvm.hotspot.CommandProcessor.out:Ljava/io/PrintStream;
            aload 10 /* bos */
            invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        41: .line 833
            aload 4 /* revptrs */
            aload 9 /* e */
            invokevirtual sun.jvm.hotspot.utilities.LivenessPathElement.getObj:()Lsun/jvm/hotspot/oops/Oop;
            invokevirtual sun.jvm.hotspot.utilities.ReversePtrs.get:(Lsun/jvm/hotspot/oops/Oop;)Ljava/util/ArrayList;
            astore 8 /* ptrs */
        end local 10 // java.io.ByteArrayOutputStream bos
        end local 9 // sun.jvm.hotspot.utilities.LivenessPathElement e
        42: .line 828
      StackMap locals:
      StackMap stack:
            aload 8 /* ptrs */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            if_icmpeq 37
        43: .line 835
            goto 53
        44: .line 836
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        45: goto 52
        46: .line 837
      StackMap locals: int
      StackMap stack:
            aload 8 /* ptrs */
            iload 9 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.jvm.hotspot.utilities.LivenessPathElement
            astore 10 /* e */
        start local 10 // sun.jvm.hotspot.utilities.LivenessPathElement e
        47: .line 838
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 11 /* bos */
        start local 11 // java.io.ByteArrayOutputStream bos
        48: .line 839
            aload 10 /* e */
            invokevirtual sun.jvm.hotspot.utilities.LivenessPathElement.getObj:()Lsun/jvm/hotspot/oops/Oop;
            new java.io.PrintStream
            dup
            aload 11 /* bos */
            invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
            invokestatic sun.jvm.hotspot.oops.Oop.printOopValueOn:(Lsun/jvm/hotspot/oops/Oop;Ljava/io/PrintStream;)V
        49: .line 840
            aload 0 /* this */
            getfield sun.jvm.hotspot.CommandProcessor$16.this$0:Lsun/jvm/hotspot/CommandProcessor;
            getfield sun.jvm.hotspot.CommandProcessor.out:Ljava/io/PrintStream;
            aload 11 /* bos */
            invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        50: .line 841
            aload 10 /* e */
            invokevirtual sun.jvm.hotspot.utilities.LivenessPathElement.getObj:()Lsun/jvm/hotspot/oops/Oop;
            astore 7 /* oop */
        end local 11 // java.io.ByteArrayOutputStream bos
        end local 10 // sun.jvm.hotspot.utilities.LivenessPathElement e
        51: .line 836
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        52: iload 9 /* i */
            aload 8 /* ptrs */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 46
        end local 9 // int i
        end local 8 // java.util.ArrayList ptrs
        end local 7 // sun.jvm.hotspot.oops.Oop oop
        end local 6 // sun.jvm.hotspot.debugger.OopHandle handle
        53: .line 846
      StackMap locals: sun.jvm.hotspot.CommandProcessor$16 sun.jvm.hotspot.CommandProcessor$Tokens int int sun.jvm.hotspot.utilities.ReversePtrs sun.jvm.hotspot.debugger.Address
      StackMap stack:
            return
        end local 5 // sun.jvm.hotspot.debugger.Address a
        end local 4 // sun.jvm.hotspot.utilities.ReversePtrs revptrs
        end local 3 // boolean chase
        end local 2 // int tokens
        end local 1 // sun.jvm.hotspot.CommandProcessor$Tokens t
        end local 0 // sun.jvm.hotspot.CommandProcessor$16 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   54     0      this  Lsun/jvm/hotspot/CommandProcessor$16;
            0   54     1         t  Lsun/jvm/hotspot/CommandProcessor$Tokens;
            1   54     2    tokens  I
            7   54     3     chase  Z
            8   54     4   revptrs  Lsun/jvm/hotspot/utilities/ReversePtrs;
           11   27     5  analysis  Lsun/jvm/hotspot/utilities/ReversePtrsAnalysis;
           12   27     6  complete  [Z
           13   27     7     thunk  Lsun/jvm/hotspot/utilities/HeapProgressThunk;
           28   54     5         a  Lsun/jvm/hotspot/debugger/Address;
           30   53     6    handle  Lsun/jvm/hotspot/debugger/OopHandle;
           31   53     7       oop  Lsun/jvm/hotspot/oops/Oop;
           32   53     8      ptrs  Ljava/util/ArrayList;
           38   42     9         e  Lsun/jvm/hotspot/utilities/LivenessPathElement;
           39   42    10       bos  Ljava/io/ByteArrayOutputStream;
           45   53     9         i  I
           47   51    10         e  Lsun/jvm/hotspot/utilities/LivenessPathElement;
           48   51    11       bos  Ljava/io/ByteArrayOutputStream;
      Exception table:
        from    to  target  type
          17    18      19  Class java.lang.Exception
          17    21      22  any
          22    23      22  any
    MethodParameters:
      Name  Flags
      t     
}
SourceFile: "CommandProcessor.java"
EnclosingMethod: sun.jvm.hotspot.CommandProcessor
NestHost: sun.jvm.hotspot.CommandProcessor
InnerClasses:
  sun.jvm.hotspot.CommandProcessor$16
  sun.jvm.hotspot.CommandProcessor$16$1
  abstract Command = sun.jvm.hotspot.CommandProcessor$Command of sun.jvm.hotspot.CommandProcessor
  Tokens = sun.jvm.hotspot.CommandProcessor$Tokens of sun.jvm.hotspot.CommandProcessor