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
{
  private static final java.lang.String NO_REMOTE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.util.Map<java.lang.String, java.util.function.Consumer<java.lang.String[]>> toolMap;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/function/Consumer<[Ljava/lang/String;>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=14, locals=0, args_size=0
         0: .line 159
            aconst_null
            putstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
         1: .line 372
            ldc "clhsdb"
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  sun/jvm/hotspot/SALauncher.runCLHSDB([Ljava/lang/String;)V (6)
                  ([Ljava/lang/String;)V
         2: .line 373
            ldc "hsdb"
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  sun/jvm/hotspot/SALauncher.runHSDB([Ljava/lang/String;)V (6)
                  ([Ljava/lang/String;)V
         3: .line 374
            ldc "jstack"
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  sun/jvm/hotspot/SALauncher.runJSTACK([Ljava/lang/String;)V (6)
                  ([Ljava/lang/String;)V
         4: .line 375
            ldc "jmap"
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  sun/jvm/hotspot/SALauncher.runJMAP([Ljava/lang/String;)V (6)
                  ([Ljava/lang/String;)V
         5: .line 376
            ldc "jinfo"
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  sun/jvm/hotspot/SALauncher.runJINFO([Ljava/lang/String;)V (6)
                  ([Ljava/lang/String;)V
         6: .line 377
            ldc "jsnap"
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  sun/jvm/hotspot/SALauncher.runJSNAP([Ljava/lang/String;)V (6)
                  ([Ljava/lang/String;)V
         7: .line 378
            ldc "debugd"
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  sun/jvm/hotspot/SALauncher.runDEBUGD([Ljava/lang/String;)V (6)
                  ([Ljava/lang/String;)V
         8: .line 372
            invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
         9: .line 371
            putstatic sun.jvm.hotspot.SALauncher.toolMap:Ljava/util/Map;
        10: .line 378
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  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 40
            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 43
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    clhsdb       \tcommand line debugger"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 44
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    hsdb         \tui debugger"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 45
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    debugd --help\tto get more information"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 46
            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 47
            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 48
            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 49
            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 50
            iconst_0
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean commonHelp(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 mode
         0: .line 54
            aload 0 /* mode */
            iconst_0
            invokestatic sun.jvm.hotspot.SALauncher.commonHelp:(Ljava/lang/String;Z)Z
            ireturn
        end local 0 // java.lang.String mode
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  mode  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      mode  

  private static boolean commonHelpWithConnect(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 mode
         0: .line 58
            aload 0 /* mode */
            iconst_1
            invokestatic sun.jvm.hotspot.SALauncher.commonHelp:(Ljava/lang/String;Z)Z
            ireturn
        end local 0 // java.lang.String mode
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  mode  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      mode  

  private static boolean commonHelp(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String mode
        start local 1 // boolean canConnectToRemote
         0: .line 66
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --pid <pid>             To attach to and operate on the given live process."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 67
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --core <corefile>       To operate on the given core file."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 68
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --exe <executable for corefile>"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 69
            iload 1 /* canConnectToRemote */
            ifeq 5
         4: .line 70
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --connect [<id>@]<host> To connect to a remote debug server (debugd)."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 72
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         6: .line 73
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    The --core and --exe options must be set together to give the core"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 74
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    file, and associated executable, to operate on. They can use"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         8: .line 75
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    absolute or relative paths."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 76
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    The --pid option can be set to operate on a live process."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 77
            iload 1 /* canConnectToRemote */
            ifeq 14
        11: .line 78
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    The --connect option can be set to connect to a debug server (debugd)."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 79
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --core, --pid, and --connect are mutually exclusive."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        13: .line 80
            goto 15
        14: .line 81
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --core and --pid are mutually exclusive."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        15: .line 83
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        16: .line 84
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "    Examples: jhsdb "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* mode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " --pid 1234"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        17: .line 85
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "          or  jhsdb "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* mode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " --core ./core.1234 --exe ./myexe"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        18: .line 86
            iload 1 /* canConnectToRemote */
            ifeq 21
        19: .line 87
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "          or  jhsdb "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* mode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " --connect debugserver"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        20: .line 88
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "          or  jhsdb "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* mode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " --connect id@debugserver"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        21: .line 90
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // boolean canConnectToRemote
        end local 0 // java.lang.String mode
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   22     0                mode  Ljava/lang/String;
            0   22     1  canConnectToRemote  Z
    MethodParameters:
                    Name  Flags
      mode                
      canConnectToRemote  

  private static boolean debugdHelp();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 96
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --serverid <id>         A unique identifier for this debug server."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 97
            ldc "debugd"
            invokestatic sun.jvm.hotspot.SALauncher.commonHelp:(Ljava/lang/String;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean jinfoHelp();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 103
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --flags                 To print VM flags."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 104
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --sysprops              To print Java System properties."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 105
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    <no option>             To print both of the above."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 106
            ldc "jinfo"
            invokestatic sun.jvm.hotspot.SALauncher.commonHelpWithConnect:(Ljava/lang/String;)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 116
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    <no option>             To print same info as Solaris pmap."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 117
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --heap                  To print java heap summary."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 118
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --binaryheap            To dump java heap in hprof binary format."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 119
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --dumpfile <name>       The name of the dump file."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 120
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --histo                 To print histogram of java object heap."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 121
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --clstats               To print class loader statistics."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 122
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --finalizerinfo         To print information on objects awaiting finalization."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 123
            ldc "jmap"
            invokestatic sun.jvm.hotspot.SALauncher.commonHelpWithConnect:(Ljava/lang/String;)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 129
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --locks                 To print java.util.concurrent locks."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 130
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --mixed                 To print both Java and native frames (mixed mode)."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 131
            ldc "jstack"
            invokestatic sun.jvm.hotspot.SALauncher.commonHelpWithConnect:(Ljava/lang/String;)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 135
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --all                   To print all performance counters."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 136
            ldc "jsnap"
            invokestatic sun.jvm.hotspot.SALauncher.commonHelpWithConnect:(Ljava/lang/String;)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=2, args_size=1
        start local 0 // java.lang.String toolName
         0: .line 140
            aload 0 /* toolName */
            dup
            astore 1
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 7
          -1357729102: 1
          -1335741327: 2
          -1150520226: 3
              3211977: 4
              3265714: 5
            101130264: 6
            101428020: 7
              default: 14
          }
      StackMap locals: java.lang.String
      StackMap stack:
         1: aload 1
            ldc "clhsdb"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 14
      StackMap locals:
      StackMap stack:
         2: aload 1
            ldc "debugd"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            goto 14
      StackMap locals:
      StackMap stack:
         3: aload 1
            ldc "jstack"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            goto 14
      StackMap locals:
      StackMap stack:
         4: aload 1
            ldc "hsdb"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 14
      StackMap locals:
      StackMap stack:
         5: aload 1
            ldc "jmap"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 14
      StackMap locals:
      StackMap stack:
         6: aload 1
            ldc "jinfo"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 14
      StackMap locals:
      StackMap stack:
         7: aload 1
            ldc "jsnap"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 14
         8: .line 142
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.jstackHelp:()Z
            ireturn
         9: .line 144
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.jinfoHelp:()Z
            ireturn
        10: .line 146
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.jmapHelp:()Z
            ireturn
        11: .line 148
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.jsnapHelp:()Z
            ireturn
        12: .line 150
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.debugdHelp:()Z
            ireturn
        13: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* toolName */
            invokestatic sun.jvm.hotspot.SALauncher.commonHelp:(Ljava/lang/String;)Z
            ireturn
        14: .line 155
      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   15     0  toolName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      toolName  

  private static java.lang.String[] buildAttachArgs(java.util.Map<java.lang.String, java.lang.String>, boolean);
    descriptor: (Ljava/util/Map;Z)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // java.util.Map newArgMap
        start local 1 // boolean allowEmpty
         0: .line 163
            aload 0 /* newArgMap */
            ldc "pid"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* pid */
        start local 2 // java.lang.String pid
         1: .line 164
            aload 0 /* newArgMap */
            ldc "exe"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* exe */
        start local 3 // java.lang.String exe
         2: .line 165
            aload 0 /* newArgMap */
            ldc "core"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* core */
        start local 4 // java.lang.String core
         3: .line 166
            aload 0 /* newArgMap */
            ldc "connect"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* connect */
        start local 5 // java.lang.String connect
         4: .line 167
            iload 1 /* allowEmpty */
            ifne 6
            aload 2 /* pid */
            ifnonnull 6
            aload 3 /* exe */
            ifnonnull 6
            aload 5 /* connect */
            getstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
            if_acmpne 6
         5: .line 168
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "You have to set --pid or --exe or --connect."
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 171
      StackMap locals: java.util.Map int java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* newArgs */
        start local 6 // java.util.List newArgs
         7: .line 172
            aload 0 /* newArgMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 12
      StackMap locals: java.util.Map int java.lang.String java.lang.String java.lang.String java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* entry */
        start local 7 // java.util.Map$Entry entry
         9: .line 173
            aload 6 /* newArgs */
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 174
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            ifnull 12
        11: .line 175
            aload 6 /* newArgs */
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.util.Map$Entry entry
        12: .line 172
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 179
            aload 2 /* pid */
            ifnull 24
        14: .line 180
            aload 3 /* exe */
            ifnull 16
        15: .line 181
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --exe"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 182
      StackMap locals: java.util.Map int java.lang.String java.lang.String java.lang.String java.lang.String java.util.List
      StackMap stack:
            aload 4 /* core */
            ifnull 18
        17: .line 183
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --core"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 184
      StackMap locals:
      StackMap stack:
            aload 5 /* connect */
            getstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
            if_acmpeq 20
        19: .line 185
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --connect"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 186
      StackMap locals:
      StackMap stack:
            aload 2 /* pid */
            ldc "^\\d+$"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifne 22
        21: .line 187
            new sun.jvm.hotspot.SAGetoptException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid pid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* 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
        22: .line 190
      StackMap locals:
      StackMap stack:
            aload 6 /* newArgs */
            aload 2 /* pid */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 191
            goto 36
      StackMap locals:
      StackMap stack:
        24: aload 3 /* exe */
            ifnull 34
        25: .line 192
            aload 5 /* connect */
            getstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
            if_acmpeq 27
        26: .line 193
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --connect"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 194
      StackMap locals:
      StackMap stack:
            aload 3 /* exe */
            invokevirtual java.lang.String.length:()I
            ifne 29
        28: .line 195
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "You have to set --exe."
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 198
      StackMap locals:
      StackMap stack:
            aload 6 /* newArgs */
            aload 3 /* exe */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 200
            aload 4 /* core */
            ifnull 31
            aload 4 /* core */
            invokevirtual java.lang.String.length:()I
            ifne 32
        31: .line 201
      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
        32: .line 204
      StackMap locals:
      StackMap stack:
            aload 6 /* newArgs */
            aload 4 /* core */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        33: .line 205
            goto 36
      StackMap locals:
      StackMap stack:
        34: aload 5 /* connect */
            getstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
            if_acmpeq 36
        35: .line 206
            aload 6 /* newArgs */
            aload 5 /* connect */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        36: .line 209
      StackMap locals:
      StackMap stack:
            aload 6 /* newArgs */
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 6 // java.util.List newArgs
        end local 5 // java.lang.String connect
        end local 4 // java.lang.String core
        end local 3 // java.lang.String exe
        end local 2 // java.lang.String pid
        end local 1 // boolean allowEmpty
        end local 0 // java.util.Map newArgMap
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   37     0   newArgMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0   37     1  allowEmpty  Z
            1   37     2         pid  Ljava/lang/String;
            2   37     3         exe  Ljava/lang/String;
            3   37     4        core  Ljava/lang/String;
            4   37     5     connect  Ljava/lang/String;
            7   37     6     newArgs  Ljava/util/List<Ljava/lang/String;>;
            9   12     7       entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Z)[Ljava/lang/String;
    MethodParameters:
            Name  Flags
      newArgMap   
      allowEmpty  

  private static java.util.Map<java.lang.String, java.lang.String> parseOptions(java.lang.String[], java.util.Map<java.lang.String, java.lang.String>);
    descriptor: ([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.lang.String[] oldArgs
        start local 1 // java.util.Map longOptsMap
         0: .line 236
            new sun.jvm.hotspot.SAGetopt
            dup
            aload 0 /* oldArgs */
            invokespecial sun.jvm.hotspot.SAGetopt.<init>:([Ljava/lang/String;)V
            astore 2 /* sg */
        start local 2 // sun.jvm.hotspot.SAGetopt sg
         1: .line 237
            aload 1 /* longOptsMap */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 3 /* longOpts */
        start local 3 // java.lang.String[] longOpts
         2: .line 238
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* newArgMap */
        start local 4 // java.util.Map newArgMap
         3: .line 250
            goto 11
        start local 5 // java.lang.String s
         4: .line 251
      StackMap locals: java.lang.String[] java.util.Map sun.jvm.hotspot.SAGetopt java.lang.String[] java.util.Map java.lang.String
      StackMap stack:
            aload 1 /* longOptsMap */
            aload 5 /* s */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* val */
        start local 6 // java.lang.String val
         5: .line 252
            aload 6 /* val */
            ifnull 8
         6: .line 253
            aload 4 /* newArgMap */
            aload 6 /* val */
            aconst_null
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 254
            goto 11
         8: .line 255
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* longOptsMap */
            new java.lang.StringBuilder
            dup
            aload 5 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* val */
         9: .line 256
            aload 6 /* val */
            ifnull 11
        10: .line 257
            aload 4 /* newArgMap */
            aload 6 /* val */
            aload 2 /* sg */
            invokevirtual sun.jvm.hotspot.SAGetopt.getOptarg:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.String val
        end local 5 // java.lang.String s
        11: .line 250
      StackMap locals:
      StackMap stack:
            aload 2 /* sg */
            aconst_null
            aload 3 /* longOpts */
            invokevirtual sun.jvm.hotspot.SAGetopt.next:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 5 /* s */
        start local 5 // java.lang.String s
        12: ifnonnull 4
        13: .line 262
            aload 4 /* newArgMap */
            areturn
        end local 5 // java.lang.String s
        end local 4 // java.util.Map newArgMap
        end local 3 // java.lang.String[] longOpts
        end local 2 // sun.jvm.hotspot.SAGetopt sg
        end local 1 // java.util.Map longOptsMap
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0      oldArgs  [Ljava/lang/String;
            0   14     1  longOptsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   14     2           sg  Lsun/jvm/hotspot/SAGetopt;
            2   14     3     longOpts  [Ljava/lang/String;
            3   14     4    newArgMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            4   11     5            s  Ljava/lang/String;
           12   14     5            s  Ljava/lang/String;
            5   11     6          val  Ljava/lang/String;
    Signature: ([Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
             Name  Flags
      oldArgs      
      longOptsMap  

  private static void runCLHSDB(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 266
            ldc "exe="
            ldc "exe"
         1: .line 267
            ldc "core="
            ldc "core"
         2: .line 268
            ldc "pid="
            ldc "pid"
         3: .line 266
            invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 1 /* longOptsMap */
        start local 1 // java.util.Map longOptsMap
         4: .line 269
            aload 0 /* oldArgs */
            aload 1 /* longOptsMap */
            invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
            astore 2 /* newArgMap */
        start local 2 // java.util.Map newArgMap
         5: .line 270
            aload 2 /* newArgMap */
            iconst_1
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/Map;Z)[Ljava/lang/String;
            invokestatic sun.jvm.hotspot.CLHSDB.main:([Ljava/lang/String;)V
         6: .line 271
            return
        end local 2 // java.util.Map newArgMap
        end local 1 // java.util.Map longOptsMap
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0      oldArgs  [Ljava/lang/String;
            4    7     1  longOptsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            5    7     2    newArgMap  Ljava/util/Map<Ljava/lang/String;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=6, locals=3, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 274
            ldc "exe="
            ldc "exe"
         1: .line 275
            ldc "core="
            ldc "core"
         2: .line 276
            ldc "pid="
            ldc "pid"
         3: .line 274
            invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 1 /* longOptsMap */
        start local 1 // java.util.Map longOptsMap
         4: .line 277
            aload 0 /* oldArgs */
            aload 1 /* longOptsMap */
            invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
            astore 2 /* newArgMap */
        start local 2 // java.util.Map newArgMap
         5: .line 278
            aload 2 /* newArgMap */
            iconst_1
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/Map;Z)[Ljava/lang/String;
            invokestatic sun.jvm.hotspot.HSDB.main:([Ljava/lang/String;)V
         6: .line 279
            return
        end local 2 // java.util.Map newArgMap
        end local 1 // java.util.Map longOptsMap
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0      oldArgs  [Ljava/lang/String;
            4    7     1  longOptsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            5    7     2    newArgMap  Ljava/util/Map<Ljava/lang/String;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=12, locals=4, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 282
            ldc "exe="
            ldc "exe"
         1: .line 283
            ldc "core="
            ldc "core"
         2: .line 284
            ldc "pid="
            ldc "pid"
         3: .line 285
            ldc "connect="
            ldc "connect"
         4: .line 286
            ldc "mixed"
            ldc "-m"
         5: .line 287
            ldc "locks"
            ldc "-l"
         6: .line 282
            invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 1 /* longOptsMap */
        start local 1 // java.util.Map longOptsMap
         7: .line 288
            aload 0 /* oldArgs */
            aload 1 /* longOptsMap */
            invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
            astore 2 /* newArgMap */
        start local 2 // java.util.Map newArgMap
         8: .line 289
            new sun.jvm.hotspot.tools.JStack
            dup
            iconst_0
            iconst_0
            invokespecial sun.jvm.hotspot.tools.JStack.<init>:(ZZ)V
            astore 3 /* jstack */
        start local 3 // sun.jvm.hotspot.tools.JStack jstack
         9: .line 290
            aload 3 /* jstack */
            aload 2 /* newArgMap */
            iconst_0
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/Map;Z)[Ljava/lang/String;
            invokevirtual sun.jvm.hotspot.tools.JStack.runWithArgs:([Ljava/lang/String;)V
        10: .line 291
            return
        end local 3 // sun.jvm.hotspot.tools.JStack jstack
        end local 2 // java.util.Map newArgMap
        end local 1 // java.util.Map longOptsMap
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0      oldArgs  [Ljava/lang/String;
            7   11     1  longOptsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            8   11     2    newArgMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            9   11     3       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=20, locals=5, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 294
            ldc "exe="
            ldc "exe"
         1: .line 295
            ldc "core="
            ldc "core"
         2: .line 296
            ldc "pid="
            ldc "pid"
         3: .line 297
            ldc "connect="
            ldc "connect"
         4: .line 298
            ldc "heap"
            ldc "-heap"
         5: .line 299
            ldc "binaryheap"
            ldc "binaryheap"
         6: .line 300
            ldc "dumpfile="
            ldc "dumpfile"
         7: .line 301
            ldc "histo"
            ldc "-histo"
         8: .line 302
            ldc "clstats"
            ldc "-clstats"
         9: .line 303
            ldc "finalizerinfo"
            ldc "-finalizerinfo"
        10: .line 294
            invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 1 /* longOptsMap */
        start local 1 // java.util.Map longOptsMap
        11: .line 304
            aload 0 /* oldArgs */
            aload 1 /* longOptsMap */
            invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
            astore 2 /* newArgMap */
        start local 2 // java.util.Map newArgMap
        12: .line 306
            aload 2 /* newArgMap */
            ldc "binaryheap"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            istore 3 /* requestHeapdump */
        start local 3 // boolean requestHeapdump
        13: .line 307
            aload 2 /* newArgMap */
            ldc "dumpfile"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* dumpfile */
        start local 4 // java.lang.String dumpfile
        14: .line 308
            iload 3 /* requestHeapdump */
            ifne 16
            aload 4 /* dumpfile */
            ifnull 16
        15: .line 309
            new java.lang.IllegalArgumentException
            dup
            ldc "Unexpected argument: dumpfile"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 311
      StackMap locals: java.lang.String[] java.util.Map java.util.Map int java.lang.String
      StackMap stack:
            iload 3 /* requestHeapdump */
            ifeq 21
        17: .line 312
            aload 4 /* dumpfile */
            ifnonnull 20
        18: .line 313
            aload 2 /* newArgMap */
            ldc "-heap:format=b"
            aconst_null
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 314
            goto 21
        20: .line 315
      StackMap locals:
      StackMap stack:
            aload 2 /* newArgMap */
            new java.lang.StringBuilder
            dup
            ldc "-heap:format=b,file="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* dumpfile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 319
      StackMap locals:
      StackMap stack:
            aload 2 /* newArgMap */
            ldc "binaryheap"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 320
            aload 2 /* newArgMap */
            ldc "dumpfile"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 321
            aload 2 /* newArgMap */
            iconst_0
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/Map;Z)[Ljava/lang/String;
            invokestatic sun.jvm.hotspot.tools.JMap.main:([Ljava/lang/String;)V
        24: .line 322
            return
        end local 4 // java.lang.String dumpfile
        end local 3 // boolean requestHeapdump
        end local 2 // java.util.Map newArgMap
        end local 1 // java.util.Map longOptsMap
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0          oldArgs  [Ljava/lang/String;
           11   25     1      longOptsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           12   25     2        newArgMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           13   25     3  requestHeapdump  Z
           14   25     4         dumpfile  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      oldArgs  

  private static void runJINFO(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=12, locals=3, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 325
            ldc "exe="
            ldc "exe"
         1: .line 326
            ldc "core="
            ldc "core"
         2: .line 327
            ldc "pid="
            ldc "pid"
         3: .line 328
            ldc "connect="
            ldc "connect"
         4: .line 329
            ldc "flags"
            ldc "-flags"
         5: .line 330
            ldc "sysprops"
            ldc "-sysprops"
         6: .line 325
            invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 1 /* longOptsMap */
        start local 1 // java.util.Map longOptsMap
         7: .line 331
            aload 0 /* oldArgs */
            aload 1 /* longOptsMap */
            invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
            astore 2 /* newArgMap */
        start local 2 // java.util.Map newArgMap
         8: .line 332
            aload 2 /* newArgMap */
            iconst_0
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/Map;Z)[Ljava/lang/String;
            invokestatic sun.jvm.hotspot.tools.JInfo.main:([Ljava/lang/String;)V
         9: .line 333
            return
        end local 2 // java.util.Map newArgMap
        end local 1 // java.util.Map longOptsMap
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0      oldArgs  [Ljava/lang/String;
            7   10     1  longOptsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            8   10     2    newArgMap  Ljava/util/Map<Ljava/lang/String;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=10, locals=3, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 336
            ldc "exe="
            ldc "exe"
         1: .line 337
            ldc "core="
            ldc "core"
         2: .line 338
            ldc "pid="
            ldc "pid"
         3: .line 339
            ldc "connect="
            ldc "connect"
         4: .line 340
            ldc "all"
            ldc "-a"
         5: .line 336
            invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 1 /* longOptsMap */
        start local 1 // java.util.Map longOptsMap
         6: .line 341
            aload 0 /* oldArgs */
            aload 1 /* longOptsMap */
            invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
            astore 2 /* newArgMap */
        start local 2 // java.util.Map newArgMap
         7: .line 342
            aload 2 /* newArgMap */
            iconst_0
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/Map;Z)[Ljava/lang/String;
            invokestatic sun.jvm.hotspot.tools.JSnap.main:([Ljava/lang/String;)V
         8: .line 343
            return
        end local 2 // java.util.Map newArgMap
        end local 1 // java.util.Map longOptsMap
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0      oldArgs  [Ljava/lang/String;
            6    9     1  longOptsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            7    9     2    newArgMap  Ljava/util/Map<Ljava/lang/String;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=8, locals=5, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 350
            ldc "sun.jvm.hotspot.debugger.useWindbgDebugger"
            ldc "true"
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         1: .line 352
            ldc "exe="
            ldc "exe"
         2: .line 353
            ldc "core="
            ldc "core"
         3: .line 354
            ldc "pid="
            ldc "pid"
         4: .line 355
            ldc "serverid="
            ldc "serverid"
         5: .line 352
            invokestatic java.util.Map.of:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            astore 1 /* longOptsMap */
        start local 1 // java.util.Map longOptsMap
         6: .line 356
            aload 0 /* oldArgs */
            aload 1 /* longOptsMap */
            invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
            astore 2 /* newArgMap */
        start local 2 // java.util.Map newArgMap
         7: .line 357
            aload 2 /* newArgMap */
            ldc "serverid"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* serverid */
        start local 3 // java.lang.String serverid
         8: .line 358
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* newArgArray */
        start local 4 // java.util.List newArgArray
         9: .line 359
            aload 4 /* newArgArray */
            aload 2 /* newArgMap */
            iconst_0
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/Map;Z)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        10: .line 362
            aload 3 /* serverid */
            ifnull 12
        11: .line 363
            aload 4 /* newArgArray */
            aload 3 /* serverid */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 367
      StackMap locals: java.lang.String[] java.util.Map java.util.Map java.lang.String java.util.List
      StackMap stack:
            aload 4 /* newArgArray */
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            invokestatic sun.jvm.hotspot.DebugServer.main:([Ljava/lang/String;)V
        13: .line 368
            return
        end local 4 // java.util.List newArgArray
        end local 3 // java.lang.String serverid
        end local 2 // java.util.Map newArgMap
        end local 1 // java.util.Map longOptsMap
        end local 0 // java.lang.String[] oldArgs
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0      oldArgs  [Ljava/lang/String;
            6   14     1  longOptsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            7   14     2    newArgMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            8   14     3     serverid  Ljava/lang/String;
            9   14     4  newArgArray  Ljava/util/List<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 382
            aload 0 /* args */
            arraylength
            ifne 3
         1: .line 383
            invokestatic sun.jvm.hotspot.SALauncher.launcherHelp:()Z
            pop
         2: .line 384
            return
         3: .line 387
      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 388
            aload 0 /* args */
            iconst_0
            aaload
            invokestatic sun.jvm.hotspot.SALauncher.toolHelp:(Ljava/lang/String;)Z
            pop
         5: .line 389
            return
         6: .line 392
      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 393
            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 394
      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 395
            return
        end local 1 // java.lang.String arg
        11: .line 392
      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 399
            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 402
            getstatic sun.jvm.hotspot.SALauncher.toolMap:Ljava/util/Map;
            aload 0 /* args */
            iconst_0
            aaload
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.function.Consumer
            astore 2 /* func */
        start local 2 // java.util.function.Consumer func
        15: .line 403
            aload 2 /* func */
            ifnonnull 17
        16: .line 404
            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
        17: .line 406
      StackMap locals: java.lang.String[] java.lang.String[] java.util.function.Consumer
      StackMap stack:
            aload 2 /* func */
            aload 1 /* oldArgs */
            invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
        end local 2 // java.util.function.Consumer func
        18: .line 408
            goto 22
      StackMap locals: java.lang.String[] java.lang.String[]
      StackMap stack: sun.jvm.hotspot.SAGetoptException
        19: astore 2 /* e */
        start local 2 // sun.jvm.hotspot.SAGetoptException e
        20: .line 409
            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
        21: .line 410
            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
        22: .line 412
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String[] oldArgs
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     args  [Ljava/lang/String;
            8   11     1      arg  Ljava/lang/String;
           14   23     1  oldArgs  [Ljava/lang/String;
           15   18     2     func  Ljava/util/function/Consumer<[Ljava/lang/String;>;
           20   22     2        e  Lsun/jvm/hotspot/SAGetoptException;
      Exception table:
        from    to  target  type
          14    18      19  Class sun.jvm.hotspot.SAGetoptException
    MethodParameters:
      Name  Flags
      args  
}
SourceFile: "SALauncher.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map