public class sun.jvm.hotspot.SALauncher
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.jvm.hotspot.SALauncher
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.jvm.hotspot.SALauncher this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.jvm.hotspot.SALauncher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/jvm/hotspot/SALauncher;

  private static boolean launcherHelp();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 38
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    clhsdb       \tcommand line debugger"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 39
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    debugd       \tdebug server"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 40
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    hsdb         \tui debugger"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 41
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    jstack --help\tto get more information"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 42
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    jmap   --help\tto get more information"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 43
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    jinfo  --help\tto get more information"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 44
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    jsnap  --help\tto get more information"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 45
            iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean commonHelp();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 52
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --exe\texecutable image name"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 53
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --core\tpath to coredump"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 54
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --pid\tpid of process to attach"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 55
            iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean debugdHelp();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 61
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            astore 0 /* out */
        start local 0 // java.io.PrintStream out
         1: .line 62
            aload 0 /* out */
            ldc " [option] <pid> [server-id]"
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         2: .line 63
            aload 0 /* out */
            ldc "\t\t(to connect to a live java process)"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 64
            aload 0 /* out */
            ldc "   or  [option] <executable> <core> [server-id]"
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         4: .line 65
            aload 0 /* out */
            ldc "\t\t(to connect to a core file produced by <executable>)"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 66
            aload 0 /* out */
            ldc "\t\tserver-id is an optional unique id for this debug server, needed "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
         6: .line 67
            aload 0 /* out */
            ldc "\t\tif multiple debug servers are run on the same machine"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 68
            aload 0 /* out */
            ldc "where option includes:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 69
            aload 0 /* out */
            ldc "   -h | -help\tto print this help message"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 70
            iconst_0
            ireturn
        end local 0 // java.io.PrintStream out
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1   10     0   out  Ljava/io/PrintStream;

  private static boolean jinfoHelp();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 76
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --flags\tto print VM flags"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 77
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --sysprops\tto print Java System properties"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 78
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    <no option>\tto print both of the above"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 79
            invokestatic sun.jvm.hotspot.SALauncher.commonHelp:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean jmapHelp();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 89
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    <no option>\tto print same info as Solaris pmap"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 90
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --heap\tto print java heap summary"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 91
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --binaryheap\tto dump java heap in hprof binary format"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 92
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --dumpfile\tname of the dump file"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 93
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --histo\tto print histogram of java object heap"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 94
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --clstats\tto print class loader statistics"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 95
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --finalizerinfo\tto print information on objects awaiting finalization"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 96
            invokestatic sun.jvm.hotspot.SALauncher.commonHelp:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean jstackHelp();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 102
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --locks\tto print java.util.concurrent locks"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 103
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --mixed\tto print both java and native frames (mixed mode)"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 104
            invokestatic sun.jvm.hotspot.SALauncher.commonHelp:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean jsnapHelp();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 108
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --all\tto print all performance counters"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 109
            invokestatic sun.jvm.hotspot.SALauncher.commonHelp:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean toolHelp(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String toolName
         0: .line 113
            aload 0 /* toolName */
            ldc "jstack"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 114
            invokestatic sun.jvm.hotspot.SALauncher.jstackHelp:()Z
            ireturn
         2: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* toolName */
            ldc "jinfo"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 117
            invokestatic sun.jvm.hotspot.SALauncher.jinfoHelp:()Z
            ireturn
         4: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* toolName */
            ldc "jmap"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 120
            invokestatic sun.jvm.hotspot.SALauncher.jmapHelp:()Z
            ireturn
         6: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* toolName */
            ldc "jsnap"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 123
            invokestatic sun.jvm.hotspot.SALauncher.jsnapHelp:()Z
            ireturn
         8: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* toolName */
            ldc "debugd"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 126
            invokestatic sun.jvm.hotspot.SALauncher.debugdHelp:()Z
            ireturn
        10: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* toolName */
            ldc "hsdb"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            aload 0 /* toolName */
            ldc "clhsdb"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 129
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.commonHelp:()Z
            ireturn
        12: .line 131
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.launcherHelp:()Z
            ireturn
        end local 0 // java.lang.String toolName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0  toolName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      toolName  

  private static void buildAttachArgs(java.util.ArrayList<java.lang.String>, java.lang.String, java.lang.String, java.lang.String, );
    descriptor: (Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.util.ArrayList newArgs
        start local 1 // java.lang.String pid
        start local 2 // java.lang.String exe
        start local 3 // java.lang.String core
        start local 4 // boolean allowEmpty
         0: .line 136
            iload 4 /* allowEmpty */
            ifne 2
            aload 1 /* pid */
            ifnonnull 2
            aload 2 /* exe */
            ifnonnull 2
         1: .line 137
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "You have to set --pid or --exe."
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 140
      StackMap locals:
      StackMap stack:
            aload 1 /* pid */
            ifnull 11
         3: .line 141
            aload 2 /* exe */
            ifnull 5
         4: .line 142
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --exe"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 143
      StackMap locals:
      StackMap stack:
            aload 3 /* core */
            ifnull 7
         6: .line 144
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --core"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 145
      StackMap locals:
      StackMap stack:
            aload 1 /* pid */
            ldc "^\\d+$"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifne 9
         8: .line 146
            new sun.jvm.hotspot.SAGetoptException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid pid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* pid */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* newArgs */
            aload 1 /* pid */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 150
            goto 18
      StackMap locals:
      StackMap stack:
        11: aload 2 /* exe */
            ifnull 18
        12: .line 151
            aload 2 /* exe */
            invokevirtual java.lang.String.length:()I
            ifne 14
        13: .line 152
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "You have to set --exe."
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* newArgs */
            aload 2 /* exe */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        15: .line 157
            aload 3 /* core */
            ifnull 16
            aload 3 /* core */
            invokevirtual java.lang.String.length:()I
            ifne 17
        16: .line 158
      StackMap locals:
      StackMap stack:
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "You have to set --core."
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* newArgs */
            aload 3 /* core */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        18: .line 163
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean allowEmpty
        end local 3 // java.lang.String core
        end local 2 // java.lang.String exe
        end local 1 // java.lang.String pid
        end local 0 // java.util.ArrayList newArgs
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0     newArgs  Ljava/util/ArrayList<Ljava/lang/String;>;
            0   19     1         pid  Ljava/lang/String;
            0   19     2         exe  Ljava/lang/String;
            0   19     3        core  Ljava/lang/String;
            0   19     4  allowEmpty  Z
    Signature: (Ljava/util/ArrayList<Ljava/lang/String;>;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
    MethodParameters:
            Name  Flags
      newArgs     
      pid         
      exe         
      core        
      allowEmpty  

  private static void runCLHSDB(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 166
            new sun.jvm.hotspot.SAGetopt
            dup
            aload 0 /* oldArgs */
            invokespecial sun.jvm.hotspot.SAGetopt.<init>:([Ljava/lang/String;)V
            astore 1 /* sg */
        start local 1 // sun.jvm.hotspot.SAGetopt sg
         1: .line 167
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "exe="
            aastore
            dup
            iconst_1
            ldc "core="
            aastore
            dup
            iconst_2
            ldc "pid="
            aastore
            astore 2 /* longOpts */
        start local 2 // java.lang.String[] longOpts
         2: .line 169
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* newArgs */
        start local 3 // java.util.ArrayList newArgs
         3: .line 170
            aconst_null
            astore 4 /* pid */
        start local 4 // java.lang.String pid
         4: .line 171
            aconst_null
            astore 5 /* exe */
        start local 5 // java.lang.String exe
         5: .line 172
            aconst_null
            astore 6 /* core */
        start local 6 // java.lang.String core
         6: .line 173
            aconst_null
            astore 7 /* s */
        start local 7 // java.lang.String s
         7: .line 175
            goto 16
         8: .line 176
      StackMap locals: java.lang.String[] sun.jvm.hotspot.SAGetopt java.lang.String[] java.util.ArrayList java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 7 /* s */
            ldc "exe"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 177
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 5 /* exe */
        10: .line 178
            goto 16
        11: .line 180
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "core"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 181
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 6 /* core */
        13: .line 182
            goto 16
        14: .line 184
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "pid"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 185
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 4 /* pid */
        16: .line 175
      StackMap locals:
      StackMap stack:
            aload 1 /* sg */
            aconst_null
            aload 2 /* longOpts */
            invokevirtual sun.jvm.hotspot.SAGetopt.next:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 7 /* s */
            ifnonnull 8
        17: .line 190
            aload 3 /* newArgs */
            aload 4 /* pid */
            aload 5 /* exe */
            aload 6 /* core */
            iconst_1
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        18: .line 191
            aload 3 /* newArgs */
            aload 3 /* newArgs */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic sun.jvm.hotspot.CLHSDB.main:([Ljava/lang/String;)V
        19: .line 192
            return
        end local 7 // java.lang.String s
        end local 6 // java.lang.String core
        end local 5 // java.lang.String exe
        end local 4 // java.lang.String pid
        end local 3 // java.util.ArrayList newArgs
        end local 2 // java.lang.String[] longOpts
        end local 1 // sun.jvm.hotspot.SAGetopt sg
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0   oldArgs  [Ljava/lang/String;
            1   20     1        sg  Lsun/jvm/hotspot/SAGetopt;
            2   20     2  longOpts  [Ljava/lang/String;
            3   20     3   newArgs  Ljava/util/ArrayList<Ljava/lang/String;>;
            4   20     4       pid  Ljava/lang/String;
            5   20     5       exe  Ljava/lang/String;
            6   20     6      core  Ljava/lang/String;
            7   20     7         s  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      oldArgs  

  private static void runHSDB(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 195
            new sun.jvm.hotspot.SAGetopt
            dup
            aload 0 /* oldArgs */
            invokespecial sun.jvm.hotspot.SAGetopt.<init>:([Ljava/lang/String;)V
            astore 1 /* sg */
        start local 1 // sun.jvm.hotspot.SAGetopt sg
         1: .line 196
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "exe="
            aastore
            dup
            iconst_1
            ldc "core="
            aastore
            dup
            iconst_2
            ldc "pid="
            aastore
            astore 2 /* longOpts */
        start local 2 // java.lang.String[] longOpts
         2: .line 198
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* newArgs */
        start local 3 // java.util.ArrayList newArgs
         3: .line 199
            aconst_null
            astore 4 /* pid */
        start local 4 // java.lang.String pid
         4: .line 200
            aconst_null
            astore 5 /* exe */
        start local 5 // java.lang.String exe
         5: .line 201
            aconst_null
            astore 6 /* core */
        start local 6 // java.lang.String core
         6: .line 202
            aconst_null
            astore 7 /* s */
        start local 7 // java.lang.String s
         7: .line 204
            goto 16
         8: .line 205
      StackMap locals: java.lang.String[] sun.jvm.hotspot.SAGetopt java.lang.String[] java.util.ArrayList java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 7 /* s */
            ldc "exe"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 206
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 5 /* exe */
        10: .line 207
            goto 16
        11: .line 209
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "core"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 210
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 6 /* core */
        13: .line 211
            goto 16
        14: .line 213
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "pid"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 214
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 4 /* pid */
        16: .line 204
      StackMap locals:
      StackMap stack:
            aload 1 /* sg */
            aconst_null
            aload 2 /* longOpts */
            invokevirtual sun.jvm.hotspot.SAGetopt.next:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 7 /* s */
            ifnonnull 8
        17: .line 219
            aload 3 /* newArgs */
            aload 4 /* pid */
            aload 5 /* exe */
            aload 6 /* core */
            iconst_1
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        18: .line 220
            aload 3 /* newArgs */
            aload 3 /* newArgs */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic sun.jvm.hotspot.HSDB.main:([Ljava/lang/String;)V
        19: .line 221
            return
        end local 7 // java.lang.String s
        end local 6 // java.lang.String core
        end local 5 // java.lang.String exe
        end local 4 // java.lang.String pid
        end local 3 // java.util.ArrayList newArgs
        end local 2 // java.lang.String[] longOpts
        end local 1 // sun.jvm.hotspot.SAGetopt sg
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0   oldArgs  [Ljava/lang/String;
            1   20     1        sg  Lsun/jvm/hotspot/SAGetopt;
            2   20     2  longOpts  [Ljava/lang/String;
            3   20     3   newArgs  Ljava/util/ArrayList<Ljava/lang/String;>;
            4   20     4       pid  Ljava/lang/String;
            5   20     5       exe  Ljava/lang/String;
            6   20     6      core  Ljava/lang/String;
            7   20     7         s  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      oldArgs  

  private static void runJSTACK(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 224
            new sun.jvm.hotspot.SAGetopt
            dup
            aload 0 /* oldArgs */
            invokespecial sun.jvm.hotspot.SAGetopt.<init>:([Ljava/lang/String;)V
            astore 1 /* sg */
        start local 1 // sun.jvm.hotspot.SAGetopt sg
         1: .line 225
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
            ldc "exe="
            aastore
            dup
            iconst_1
            ldc "core="
            aastore
            dup
            iconst_2
            ldc "pid="
            aastore
            dup
            iconst_3
         2: .line 226
            ldc "mixed"
            aastore
            dup
            iconst_4
            ldc "locks"
            aastore
         3: .line 225
            astore 2 /* longOpts */
        start local 2 // java.lang.String[] longOpts
         4: .line 228
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* newArgs */
        start local 3 // java.util.ArrayList newArgs
         5: .line 229
            aconst_null
            astore 4 /* pid */
        start local 4 // java.lang.String pid
         6: .line 230
            aconst_null
            astore 5 /* exe */
        start local 5 // java.lang.String exe
         7: .line 231
            aconst_null
            astore 6 /* core */
        start local 6 // java.lang.String core
         8: .line 232
            aconst_null
            astore 7 /* s */
        start local 7 // java.lang.String s
         9: .line 234
            goto 24
        10: .line 235
      StackMap locals: java.lang.String[] sun.jvm.hotspot.SAGetopt java.lang.String[] java.util.ArrayList java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 7 /* s */
            ldc "exe"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 236
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 5 /* exe */
        12: .line 237
            goto 24
        13: .line 239
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "core"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 240
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 6 /* core */
        15: .line 241
            goto 24
        16: .line 243
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "pid"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 244
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 4 /* pid */
        18: .line 245
            goto 24
        19: .line 247
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "mixed"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 248
            aload 3 /* newArgs */
            ldc "-m"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        21: .line 249
            goto 24
        22: .line 251
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "locks"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 252
            aload 3 /* newArgs */
            ldc "-l"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        24: .line 234
      StackMap locals:
      StackMap stack:
            aload 1 /* sg */
            aconst_null
            aload 2 /* longOpts */
            invokevirtual sun.jvm.hotspot.SAGetopt.next:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 7 /* s */
            ifnonnull 10
        25: .line 257
            aload 3 /* newArgs */
            aload 4 /* pid */
            aload 5 /* exe */
            aload 6 /* core */
            iconst_0
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        26: .line 258
            new sun.jvm.hotspot.tools.JStack
            dup
            iconst_0
            iconst_0
            invokespecial sun.jvm.hotspot.tools.JStack.<init>:(ZZ)V
            astore 8 /* jstack */
        start local 8 // sun.jvm.hotspot.tools.JStack jstack
        27: .line 259
            aload 8 /* jstack */
            aload 3 /* newArgs */
            aload 3 /* newArgs */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokevirtual sun.jvm.hotspot.tools.JStack.runWithArgs:([Ljava/lang/String;)V
        28: .line 260
            return
        end local 8 // sun.jvm.hotspot.tools.JStack jstack
        end local 7 // java.lang.String s
        end local 6 // java.lang.String core
        end local 5 // java.lang.String exe
        end local 4 // java.lang.String pid
        end local 3 // java.util.ArrayList newArgs
        end local 2 // java.lang.String[] longOpts
        end local 1 // sun.jvm.hotspot.SAGetopt sg
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   29     0   oldArgs  [Ljava/lang/String;
            1   29     1        sg  Lsun/jvm/hotspot/SAGetopt;
            4   29     2  longOpts  [Ljava/lang/String;
            5   29     3   newArgs  Ljava/util/ArrayList<Ljava/lang/String;>;
            6   29     4       pid  Ljava/lang/String;
            7   29     5       exe  Ljava/lang/String;
            8   29     6      core  Ljava/lang/String;
            9   29     7         s  Ljava/lang/String;
           27   29     8    jstack  Lsun/jvm/hotspot/tools/JStack;
    MethodParameters:
         Name  Flags
      oldArgs  

  private static void runJMAP(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 263
            new sun.jvm.hotspot.SAGetopt
            dup
            aload 0 /* oldArgs */
            invokespecial sun.jvm.hotspot.SAGetopt.<init>:([Ljava/lang/String;)V
            astore 1 /* sg */
        start local 1 // sun.jvm.hotspot.SAGetopt sg
         1: .line 264
            bipush 9
            anewarray java.lang.String
            dup
            iconst_0
            ldc "exe="
            aastore
            dup
            iconst_1
            ldc "core="
            aastore
            dup
            iconst_2
            ldc "pid="
            aastore
            dup
            iconst_3
         2: .line 265
            ldc "heap"
            aastore
            dup
            iconst_4
            ldc "binaryheap"
            aastore
            dup
            iconst_5
            ldc "dumpfile="
            aastore
            dup
            bipush 6
            ldc "histo"
            aastore
            dup
            bipush 7
            ldc "clstats"
            aastore
            dup
            bipush 8
            ldc "finalizerinfo"
            aastore
         3: .line 264
            astore 2 /* longOpts */
        start local 2 // java.lang.String[] longOpts
         4: .line 267
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* newArgs */
        start local 3 // java.util.ArrayList newArgs
         5: .line 268
            aconst_null
            astore 4 /* pid */
        start local 4 // java.lang.String pid
         6: .line 269
            aconst_null
            astore 5 /* exe */
        start local 5 // java.lang.String exe
         7: .line 270
            aconst_null
            astore 6 /* core */
        start local 6 // java.lang.String core
         8: .line 271
            aconst_null
            astore 7 /* s */
        start local 7 // java.lang.String s
         9: .line 272
            aconst_null
            astore 8 /* dumpfile */
        start local 8 // java.lang.String dumpfile
        10: .line 273
            iconst_0
            istore 9 /* requestHeapdump */
        start local 9 // boolean requestHeapdump
        11: .line 275
            goto 38
        12: .line 276
      StackMap locals: java.lang.String[] sun.jvm.hotspot.SAGetopt java.lang.String[] java.util.ArrayList java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            aload 7 /* s */
            ldc "exe"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 277
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 5 /* exe */
        14: .line 278
            goto 38
        15: .line 280
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "core"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 281
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 6 /* core */
        17: .line 282
            goto 38
        18: .line 284
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "pid"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        19: .line 285
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 4 /* pid */
        20: .line 286
            goto 38
        21: .line 288
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "heap"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        22: .line 289
            aload 3 /* newArgs */
            ldc "-heap"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        23: .line 290
            goto 38
        24: .line 292
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "binaryheap"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
        25: .line 293
            iconst_1
            istore 9 /* requestHeapdump */
        26: .line 294
            goto 38
        27: .line 296
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "dumpfile"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        28: .line 297
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 8 /* dumpfile */
        29: .line 298
            goto 38
        30: .line 300
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "histo"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        31: .line 301
            aload 3 /* newArgs */
            ldc "-histo"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        32: .line 302
            goto 38
        33: .line 304
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "clstats"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 36
        34: .line 305
            aload 3 /* newArgs */
            ldc "-clstats"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        35: .line 306
            goto 38
        36: .line 308
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "finalizerinfo"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        37: .line 309
            aload 3 /* newArgs */
            ldc "-finalizerinfo"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        38: .line 275
      StackMap locals:
      StackMap stack:
            aload 1 /* sg */
            aconst_null
            aload 2 /* longOpts */
            invokevirtual sun.jvm.hotspot.SAGetopt.next:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 7 /* s */
            ifnonnull 12
        39: .line 314
            iload 9 /* requestHeapdump */
            ifne 41
            aload 8 /* dumpfile */
            ifnull 41
        40: .line 315
            new java.lang.IllegalArgumentException
            dup
            ldc "Unexpected argument dumpfile"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 317
      StackMap locals:
      StackMap stack:
            iload 9 /* requestHeapdump */
            ifeq 46
        42: .line 318
            aload 8 /* dumpfile */
            ifnonnull 45
        43: .line 319
            aload 3 /* newArgs */
            ldc "-heap:format=b"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        44: .line 320
            goto 46
        45: .line 321
      StackMap locals:
      StackMap stack:
            aload 3 /* newArgs */
            new java.lang.StringBuilder
            dup
            ldc "-heap:format=b,file="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* dumpfile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        46: .line 325
      StackMap locals:
      StackMap stack:
            aload 3 /* newArgs */
            aload 4 /* pid */
            aload 5 /* exe */
            aload 6 /* core */
            iconst_0
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        47: .line 326
            aload 3 /* newArgs */
            aload 3 /* newArgs */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic sun.jvm.hotspot.tools.JMap.main:([Ljava/lang/String;)V
        48: .line 327
            return
        end local 9 // boolean requestHeapdump
        end local 8 // java.lang.String dumpfile
        end local 7 // java.lang.String s
        end local 6 // java.lang.String core
        end local 5 // java.lang.String exe
        end local 4 // java.lang.String pid
        end local 3 // java.util.ArrayList newArgs
        end local 2 // java.lang.String[] longOpts
        end local 1 // sun.jvm.hotspot.SAGetopt sg
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   49     0          oldArgs  [Ljava/lang/String;
            1   49     1               sg  Lsun/jvm/hotspot/SAGetopt;
            4   49     2         longOpts  [Ljava/lang/String;
            5   49     3          newArgs  Ljava/util/ArrayList<Ljava/lang/String;>;
            6   49     4              pid  Ljava/lang/String;
            7   49     5              exe  Ljava/lang/String;
            8   49     6             core  Ljava/lang/String;
            9   49     7                s  Ljava/lang/String;
           10   49     8         dumpfile  Ljava/lang/String;
           11   49     9  requestHeapdump  Z
    MethodParameters:
         Name  Flags
      oldArgs  

  private static void runJINFO(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 330
            new sun.jvm.hotspot.SAGetopt
            dup
            aload 0 /* oldArgs */
            invokespecial sun.jvm.hotspot.SAGetopt.<init>:([Ljava/lang/String;)V
            astore 1 /* sg */
        start local 1 // sun.jvm.hotspot.SAGetopt sg
         1: .line 331
            iconst_5
            anewarray java.lang.String
            dup
            iconst_0
            ldc "exe="
            aastore
            dup
            iconst_1
            ldc "core="
            aastore
            dup
            iconst_2
            ldc "pid="
            aastore
            dup
            iconst_3
         2: .line 332
            ldc "flags"
            aastore
            dup
            iconst_4
            ldc "sysprops"
            aastore
         3: .line 331
            astore 2 /* longOpts */
        start local 2 // java.lang.String[] longOpts
         4: .line 334
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* newArgs */
        start local 3 // java.util.ArrayList newArgs
         5: .line 335
            aconst_null
            astore 4 /* exe */
        start local 4 // java.lang.String exe
         6: .line 336
            aconst_null
            astore 5 /* pid */
        start local 5 // java.lang.String pid
         7: .line 337
            aconst_null
            astore 6 /* core */
        start local 6 // java.lang.String core
         8: .line 338
            aconst_null
            astore 7 /* s */
        start local 7 // java.lang.String s
         9: .line 340
            goto 24
        10: .line 341
      StackMap locals: java.lang.String[] sun.jvm.hotspot.SAGetopt java.lang.String[] java.util.ArrayList java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 7 /* s */
            ldc "exe"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 342
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 4 /* exe */
        12: .line 343
            goto 24
        13: .line 345
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "core"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 346
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 6 /* core */
        15: .line 347
            goto 24
        16: .line 349
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "pid"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 350
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 5 /* pid */
        18: .line 351
            goto 24
        19: .line 353
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "flags"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 354
            aload 3 /* newArgs */
            ldc "-flags"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        21: .line 355
            goto 24
        22: .line 357
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "sysprops"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 358
            aload 3 /* newArgs */
            ldc "-sysprops"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        24: .line 340
      StackMap locals:
      StackMap stack:
            aload 1 /* sg */
            aconst_null
            aload 2 /* longOpts */
            invokevirtual sun.jvm.hotspot.SAGetopt.next:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 7 /* s */
            ifnonnull 10
        25: .line 363
            aload 3 /* newArgs */
            aload 5 /* pid */
            aload 4 /* exe */
            aload 6 /* core */
            iconst_0
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        26: .line 364
            aload 3 /* newArgs */
            aload 3 /* newArgs */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic sun.jvm.hotspot.tools.JInfo.main:([Ljava/lang/String;)V
        27: .line 365
            return
        end local 7 // java.lang.String s
        end local 6 // java.lang.String core
        end local 5 // java.lang.String pid
        end local 4 // java.lang.String exe
        end local 3 // java.util.ArrayList newArgs
        end local 2 // java.lang.String[] longOpts
        end local 1 // sun.jvm.hotspot.SAGetopt sg
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   28     0   oldArgs  [Ljava/lang/String;
            1   28     1        sg  Lsun/jvm/hotspot/SAGetopt;
            4   28     2  longOpts  [Ljava/lang/String;
            5   28     3   newArgs  Ljava/util/ArrayList<Ljava/lang/String;>;
            6   28     4       exe  Ljava/lang/String;
            7   28     5       pid  Ljava/lang/String;
            8   28     6      core  Ljava/lang/String;
            9   28     7         s  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      oldArgs  

  private static void runJSNAP(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 368
            new sun.jvm.hotspot.SAGetopt
            dup
            aload 0 /* oldArgs */
            invokespecial sun.jvm.hotspot.SAGetopt.<init>:([Ljava/lang/String;)V
            astore 1 /* sg */
        start local 1 // sun.jvm.hotspot.SAGetopt sg
         1: .line 369
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "exe="
            aastore
            dup
            iconst_1
            ldc "core="
            aastore
            dup
            iconst_2
            ldc "pid="
            aastore
            dup
            iconst_3
            ldc "all"
            aastore
            astore 2 /* longOpts */
        start local 2 // java.lang.String[] longOpts
         2: .line 371
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* newArgs */
        start local 3 // java.util.ArrayList newArgs
         3: .line 372
            aconst_null
            astore 4 /* exe */
        start local 4 // java.lang.String exe
         4: .line 373
            aconst_null
            astore 5 /* pid */
        start local 5 // java.lang.String pid
         5: .line 374
            aconst_null
            astore 6 /* core */
        start local 6 // java.lang.String core
         6: .line 375
            aconst_null
            astore 7 /* s */
        start local 7 // java.lang.String s
         7: .line 377
            goto 19
         8: .line 378
      StackMap locals: java.lang.String[] sun.jvm.hotspot.SAGetopt java.lang.String[] java.util.ArrayList java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 7 /* s */
            ldc "exe"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 379
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 4 /* exe */
        10: .line 380
            goto 19
        11: .line 382
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "core"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 383
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 6 /* core */
        13: .line 384
            goto 19
        14: .line 386
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "pid"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 387
            aload 1 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            astore 5 /* pid */
        16: .line 388
            goto 19
        17: .line 390
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            ldc "all"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 391
            aload 3 /* newArgs */
            ldc "-a"
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        19: .line 377
      StackMap locals:
      StackMap stack:
            aload 1 /* sg */
            aconst_null
            aload 2 /* longOpts */
            invokevirtual sun.jvm.hotspot.SAGetopt.next:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 7 /* s */
            ifnonnull 8
        20: .line 396
            aload 3 /* newArgs */
            aload 5 /* pid */
            aload 4 /* exe */
            aload 6 /* core */
            iconst_0
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
        21: .line 397
            aload 3 /* newArgs */
            aload 3 /* newArgs */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic sun.jvm.hotspot.tools.JSnap.main:([Ljava/lang/String;)V
        22: .line 398
            return
        end local 7 // java.lang.String s
        end local 6 // java.lang.String core
        end local 5 // java.lang.String pid
        end local 4 // java.lang.String exe
        end local 3 // java.util.ArrayList newArgs
        end local 2 // java.lang.String[] longOpts
        end local 1 // sun.jvm.hotspot.SAGetopt sg
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0   oldArgs  [Ljava/lang/String;
            1   23     1        sg  Lsun/jvm/hotspot/SAGetopt;
            2   23     2  longOpts  [Ljava/lang/String;
            3   23     3   newArgs  Ljava/util/ArrayList<Ljava/lang/String;>;
            4   23     4       exe  Ljava/lang/String;
            5   23     5       pid  Ljava/lang/String;
            6   23     6      core  Ljava/lang/String;
            7   23     7         s  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      oldArgs  

  private static void runDEBUGD(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 401
            aload 0 /* oldArgs */
            arraylength
            iconst_1
            if_icmplt 1
            aload 0 /* oldArgs */
            arraylength
            iconst_3
            if_icmple 2
         1: .line 402
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.debugdHelp:()Z
            pop
         2: .line 409
      StackMap locals:
      StackMap stack:
            ldc "sun.jvm.hotspot.debugger.useWindbgDebugger"
            ldc "true"
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         3: .line 412
            aload 0 /* oldArgs */
            invokestatic sun.jvm.hotspot.DebugServer.main:([Ljava/lang/String;)V
         4: .line 413
            return
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  oldArgs  [Ljava/lang/String;
    MethodParameters:
         Name  Flags
      oldArgs  

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 417
            aload 0 /* args */
            arraylength
            ifne 3
         1: .line 418
            invokestatic sun.jvm.hotspot.SALauncher.launcherHelp:()Z
            pop
         2: .line 419
            return
         3: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            arraylength
            iconst_1
            if_icmpne 6
            aload 0 /* args */
            iconst_0
            aaload
            ldc "clhsdb"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
            aload 0 /* args */
            iconst_0
            aaload
            ldc "hsdb"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         4: .line 423
            aload 0 /* args */
            iconst_0
            aaload
            invokestatic sun.jvm.hotspot.SALauncher.toolHelp:(Ljava/lang/String;)Z
            pop
         5: .line 424
            return
         6: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 12
      StackMap locals: java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         7: aload 4
            iload 2
            aaload
            astore 1 /* arg */
        start local 1 // java.lang.String arg
         8: .line 428
            aload 1 /* arg */
            ldc "-h"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            aload 1 /* arg */
            ldc "-help"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            aload 1 /* arg */
            ldc "--help"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 429
      StackMap locals: java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 0 /* args */
            iconst_0
            aaload
            invokestatic sun.jvm.hotspot.SALauncher.toolHelp:(Ljava/lang/String;)Z
            pop
        10: .line 430
            return
        end local 1 // java.lang.String arg
        11: .line 427
      StackMap locals: java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
        12: iload 2
            iload 3
            if_icmplt 7
        13: .line 434
            aload 0 /* args */
            iconst_1
            aload 0 /* args */
            arraylength
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 1 /* oldArgs */
        start local 1 // java.lang.String[] oldArgs
        14: .line 438
            aload 0 /* args */
            iconst_0
            aaload
            ldc "clhsdb"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 439
            aload 1 /* oldArgs */
            invokestatic sun.jvm.hotspot.SALauncher.runCLHSDB:([Ljava/lang/String;)V
        16: .line 440
            return
        17: .line 443
      StackMap locals: java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 0 /* args */
            iconst_0
            aaload
            ldc "hsdb"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 444
            aload 1 /* oldArgs */
            invokestatic sun.jvm.hotspot.SALauncher.runHSDB:([Ljava/lang/String;)V
        19: .line 445
            return
        20: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            iconst_0
            aaload
            ldc "jstack"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        21: .line 450
            aload 1 /* oldArgs */
            invokestatic sun.jvm.hotspot.SALauncher.runJSTACK:([Ljava/lang/String;)V
        22: .line 451
            return
        23: .line 454
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            iconst_0
            aaload
            ldc "jmap"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        24: .line 455
            aload 1 /* oldArgs */
            invokestatic sun.jvm.hotspot.SALauncher.runJMAP:([Ljava/lang/String;)V
        25: .line 456
            return
        26: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            iconst_0
            aaload
            ldc "jinfo"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        27: .line 460
            aload 1 /* oldArgs */
            invokestatic sun.jvm.hotspot.SALauncher.runJINFO:([Ljava/lang/String;)V
        28: .line 461
            return
        29: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            iconst_0
            aaload
            ldc "jsnap"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
        30: .line 465
            aload 1 /* oldArgs */
            invokestatic sun.jvm.hotspot.SALauncher.runJSNAP:([Ljava/lang/String;)V
        31: .line 466
            return
        32: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            iconst_0
            aaload
            ldc "debugd"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        33: .line 470
            aload 1 /* oldArgs */
            invokestatic sun.jvm.hotspot.SALauncher.runDEBUGD:([Ljava/lang/String;)V
        34: .line 471
            return
        35: .line 474
      StackMap locals:
      StackMap stack:
            new sun.jvm.hotspot.SAGetoptException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown tool: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* args */
            iconst_0
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 475
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.SAGetoptException
            astore 2 /* e */
        start local 2 // sun.jvm.hotspot.SAGetoptException e
        37: .line 476
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* e */
            invokevirtual sun.jvm.hotspot.SAGetoptException.getMessage:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        38: .line 477
            aload 0 /* args */
            iconst_0
            aaload
            invokestatic sun.jvm.hotspot.SALauncher.toolHelp:(Ljava/lang/String;)Z
            pop
        end local 2 // sun.jvm.hotspot.SAGetoptException e
        39: .line 479
            return
        end local 1 // java.lang.String[] oldArgs
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   40     0     args  [Ljava/lang/String;
            8   11     1      arg  Ljava/lang/String;
           14   40     1  oldArgs  [Ljava/lang/String;
           37   39     2        e  Lsun/jvm/hotspot/SAGetoptException;
      Exception table:
        from    to  target  type
          14    16      36  Class sun.jvm.hotspot.SAGetoptException
          17    19      36  Class sun.jvm.hotspot.SAGetoptException
          20    22      36  Class sun.jvm.hotspot.SAGetoptException
          23    25      36  Class sun.jvm.hotspot.SAGetoptException
          26    28      36  Class sun.jvm.hotspot.SAGetoptException
          29    31      36  Class sun.jvm.hotspot.SAGetoptException
          32    34      36  Class sun.jvm.hotspot.SAGetoptException
          35    36      36  Class sun.jvm.hotspot.SAGetoptException
    MethodParameters:
      Name  Flags
      args  
}
SourceFile: "SALauncher.java"