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 169
            aconst_null
            putstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
         1: .line 449
            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 450
            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 451
            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 452
            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 453
            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 454
            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 455
            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 449
            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 448
            putstatic sun.jvm.hotspot.SALauncher.toolMap:Ljava/util/Map;
        10: .line 455
            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 41
            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 44
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    clhsdb       \tcommand line debugger"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 45
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    hsdb         \tui debugger"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 46
            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 47
            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 48
            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 49
            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 50
            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 51
            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 55
            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 59
            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 67
            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 68
            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 69
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --exe <executable for corefile>"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 70
            iload 1 /* canConnectToRemote */
            ifeq 5
         4: .line 71
            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 73
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
         6: .line 74
            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 75
            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 76
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    absolute or relative paths."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         9: .line 77
            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 78
            iload 1 /* canConnectToRemote */
            ifeq 14
        11: .line 79
            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 80
            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 81
            goto 15
        14: .line 82
      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 84
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        16: .line 85
            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 86
            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 87
            iload 1 /* canConnectToRemote */
            ifeq 21
        19: .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 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 89
            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 91
      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 97
            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 98
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --rmiport <port>        Sets the port number to which the RMI connector is bound. If not specified a random available port is used."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 100
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --registryport <port>   Sets the RMI registry port. This option overrides the system property 'sun.jvm.hotspot.rmi.port'. If not specified, the system property is used. If the system property is not set, the default port 1099 is used."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 103
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --hostname <hostname>   Sets the hostname the RMI connector is bound. The value could be a hostname or an IPv4/IPv6 address. This option overrides the system property 'java.rmi.server.hostname'. If not specified, the system property is used. If the system property is not set, a system hostname is used."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 107
            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 113
            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 114
            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 115
            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 116
            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 126
            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 127
            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 128
            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 129
            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 130
            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 131
            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 132
            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 133
            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 139
            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 140
            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 141
            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 145
            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 146
            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 150
            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 152
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.jstackHelp:()Z
            ireturn
         9: .line 154
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.jinfoHelp:()Z
            ireturn
        10: .line 156
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.jmapHelp:()Z
            ireturn
        11: .line 158
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.jsnapHelp:()Z
            ireturn
        12: .line 160
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.debugdHelp:()Z
            ireturn
        13: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* toolName */
            invokestatic sun.jvm.hotspot.SALauncher.commonHelp:(Ljava/lang/String;)Z
            ireturn
        14: .line 165
      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 173
            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 174
            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 175
            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 176
            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 177
            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 178
            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 181
      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 182
            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 183
            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 184
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            ifnull 12
        11: .line 185
            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 182
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 189
            aload 2 /* pid */
            ifnull 24
        14: .line 190
            aload 3 /* exe */
            ifnull 16
        15: .line 191
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --exe"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 192
      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 193
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --core"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 194
      StackMap locals:
      StackMap stack:
            aload 5 /* connect */
            getstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
            if_acmpeq 20
        19: .line 195
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --connect"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 196
      StackMap locals:
      StackMap stack:
            aload 2 /* pid */
            ldc "^\\d+$"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifne 22
        21: .line 197
            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 200
      StackMap locals:
      StackMap stack:
            aload 6 /* newArgs */
            aload 2 /* pid */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 201
            goto 36
      StackMap locals:
      StackMap stack:
        24: aload 3 /* exe */
            ifnull 34
        25: .line 202
            aload 5 /* connect */
            getstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
            if_acmpeq 27
        26: .line 203
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --connect"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 204
      StackMap locals:
      StackMap stack:
            aload 3 /* exe */
            invokevirtual java.lang.String.length:()I
            ifne 29
        28: .line 205
            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 208
      StackMap locals:
      StackMap stack:
            aload 6 /* newArgs */
            aload 3 /* exe */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 210
            aload 4 /* core */
            ifnull 31
            aload 4 /* core */
            invokevirtual java.lang.String.length:()I
            ifne 32
        31: .line 211
      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 214
      StackMap locals:
      StackMap stack:
            aload 6 /* newArgs */
            aload 4 /* core */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        33: .line 215
            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 216
            aload 6 /* newArgs */
            aload 5 /* connect */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        36: .line 219
      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 246
            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 247
            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 248
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* newArgMap */
        start local 4 // java.util.Map newArgMap
         3: .line 260
            goto 11
        start local 5 // java.lang.String s
         4: .line 261
      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 262
            aload 6 /* val */
            ifnull 8
         6: .line 263
            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 264
            goto 11
         8: .line 265
      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 266
            aload 6 /* val */
            ifnull 11
        10: .line 267
            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 260
      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 272
            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 276
            ldc "exe="
            ldc "exe"
         1: .line 277
            ldc "core="
            ldc "core"
         2: .line 278
            ldc "pid="
            ldc "pid"
         3: .line 276
            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 279
            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 280
            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 281
            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 284
            ldc "exe="
            ldc "exe"
         1: .line 285
            ldc "core="
            ldc "core"
         2: .line 286
            ldc "pid="
            ldc "pid"
         3: .line 284
            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 287
            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 288
            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 289
            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 292
            ldc "exe="
            ldc "exe"
         1: .line 293
            ldc "core="
            ldc "core"
         2: .line 294
            ldc "pid="
            ldc "pid"
         3: .line 295
            ldc "connect="
            ldc "connect"
         4: .line 296
            ldc "mixed"
            ldc "-m"
         5: .line 297
            ldc "locks"
            ldc "-l"
         6: .line 292
            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 298
            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 299
            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 300
            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 301
            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 304
            ldc "exe="
            ldc "exe"
         1: .line 305
            ldc "core="
            ldc "core"
         2: .line 306
            ldc "pid="
            ldc "pid"
         3: .line 307
            ldc "connect="
            ldc "connect"
         4: .line 308
            ldc "heap"
            ldc "-heap"
         5: .line 309
            ldc "binaryheap"
            ldc "binaryheap"
         6: .line 310
            ldc "dumpfile="
            ldc "dumpfile"
         7: .line 311
            ldc "histo"
            ldc "-histo"
         8: .line 312
            ldc "clstats"
            ldc "-clstats"
         9: .line 313
            ldc "finalizerinfo"
            ldc "-finalizerinfo"
        10: .line 304
            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 314
            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 316
            aload 2 /* newArgMap */
            ldc "binaryheap"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            istore 3 /* requestHeapdump */
        start local 3 // boolean requestHeapdump
        13: .line 317
            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 318
            iload 3 /* requestHeapdump */
            ifne 16
            aload 4 /* dumpfile */
            ifnull 16
        15: .line 319
            new java.lang.IllegalArgumentException
            dup
            ldc "Unexpected argument: dumpfile"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 321
      StackMap locals: java.lang.String[] java.util.Map java.util.Map int java.lang.String
      StackMap stack:
            iload 3 /* requestHeapdump */
            ifeq 21
        17: .line 322
            aload 4 /* dumpfile */
            ifnonnull 20
        18: .line 323
            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 324
            goto 21
        20: .line 325
      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 329
      StackMap locals:
      StackMap stack:
            aload 2 /* newArgMap */
            ldc "binaryheap"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 330
            aload 2 /* newArgMap */
            ldc "dumpfile"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 331
            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 332
            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 335
            ldc "exe="
            ldc "exe"
         1: .line 336
            ldc "core="
            ldc "core"
         2: .line 337
            ldc "pid="
            ldc "pid"
         3: .line 338
            ldc "connect="
            ldc "connect"
         4: .line 339
            ldc "flags"
            ldc "-flags"
         5: .line 340
            ldc "sysprops"
            ldc "-sysprops"
         6: .line 335
            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 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
         8: .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.JInfo.main:([Ljava/lang/String;)V
         9: .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   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 346
            ldc "exe="
            ldc "exe"
         1: .line 347
            ldc "core="
            ldc "core"
         2: .line 348
            ldc "pid="
            ldc "pid"
         3: .line 349
            ldc "connect="
            ldc "connect"
         4: .line 350
            ldc "all"
            ldc "-a"
         5: .line 346
            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 351
            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 352
            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 353
            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=14, locals=14, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 360
            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 362
            ldc "exe="
            ldc "exe"
         2: .line 363
            ldc "core="
            ldc "core"
         3: .line 364
            ldc "pid="
            ldc "pid"
         4: .line 365
            ldc "serverid="
            ldc "serverid"
         5: .line 366
            ldc "rmiport="
            ldc "rmiport"
         6: .line 367
            ldc "registryport="
            ldc "registryport"
         7: .line 368
            ldc "hostname="
            ldc "hostname"
         8: .line 362
            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;
            astore 1 /* longOptsMap */
        start local 1 // java.util.Map longOptsMap
         9: .line 370
            aload 0 /* args */
            aload 1 /* longOptsMap */
            invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
            astore 2 /* argMap */
        start local 2 // java.util.Map argMap
        10: .line 374
            new java.util.HashMap
            dup
            aload 2 /* argMap */
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            iconst_0
            invokestatic sun.jvm.hotspot.SALauncher.buildAttachArgs:(Ljava/util/Map;Z)[Ljava/lang/String;
            pop
        11: .line 376
            aload 2 /* argMap */
            ldc "serverid"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* serverID */
        start local 3 // java.lang.String serverID
        12: .line 377
            aload 2 /* argMap */
            ldc "rmiport"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* rmiPortString */
        start local 4 // java.lang.String rmiPortString
        13: .line 378
            aload 2 /* argMap */
            ldc "registryport"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* registryPort */
        start local 5 // java.lang.String registryPort
        14: .line 379
            aload 2 /* argMap */
            ldc "hostname"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* host */
        start local 6 // java.lang.String host
        15: .line 380
            aload 2 /* argMap */
            ldc "exe"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* javaExecutableName */
        start local 7 // java.lang.String javaExecutableName
        16: .line 381
            aload 2 /* argMap */
            ldc "core"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* coreFileName */
        start local 8 // java.lang.String coreFileName
        17: .line 382
            aload 2 /* argMap */
            ldc "pid"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* pidString */
        start local 9 // java.lang.String pidString
        18: .line 385
            aload 5 /* registryPort */
            ifnull 24
        19: .line 387
            aload 5 /* registryPort */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            pop
        20: .line 388
            goto 23
      StackMap locals: java.lang.String[] java.util.Map java.util.Map java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack: java.lang.NumberFormatException
        21: pop
        22: .line 389
            new sun.jvm.hotspot.SAGetoptException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid registry port: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* registryPort */
            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
        23: .line 391
      StackMap locals:
      StackMap stack:
            ldc "sun.jvm.hotspot.rmi.port"
            aload 5 /* registryPort */
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
        24: .line 395
      StackMap locals:
      StackMap stack:
            aload 6 /* host */
            ifnull 26
            aload 6 /* host */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 26
        25: .line 396
            ldc "java.rmi.server.hostname"
            aload 6 /* host */
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
        26: .line 400
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* rmiPort */
        start local 10 // int rmiPort
        27: .line 401
            aload 4 /* rmiPortString */
            ifnull 32
        28: .line 403
            aload 4 /* rmiPortString */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 10 /* rmiPort */
        29: .line 404
            goto 32
      StackMap locals: java.lang.String[] java.util.Map java.util.Map java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int
      StackMap stack: java.lang.NumberFormatException
        30: pop
        31: .line 405
            new sun.jvm.hotspot.SAGetoptException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid RMI connector port: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* rmiPortString */
            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
        32: .line 409
      StackMap locals:
      StackMap stack:
            new sun.jvm.hotspot.HotSpotAgent
            dup
            invokespecial sun.jvm.hotspot.HotSpotAgent.<init>:()V
            astore 11 /* agent */
        start local 11 // sun.jvm.hotspot.HotSpotAgent agent
        33: .line 411
            aload 9 /* pidString */
            ifnull 51
        34: .line 412
            iconst_0
            istore 12 /* pid */
        start local 12 // int pid
        35: .line 414
            aload 9 /* pidString */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 12 /* pid */
        36: .line 415
            goto 39
      StackMap locals: java.lang.String[] java.util.Map java.util.Map java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int sun.jvm.hotspot.HotSpotAgent int
      StackMap stack: java.lang.NumberFormatException
        37: pop
        38: .line 416
            new sun.jvm.hotspot.SAGetoptException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid pid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* pidString */
            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
        39: .line 418
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Attaching to process ID "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 12 /* pid */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " and starting RMI services,"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 419
            ldc " please wait..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 418
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        42: .line 421
            aload 11 /* agent */
            iload 12 /* pid */
            aload 3 /* serverID */
            iload 10 /* rmiPort */
            invokevirtual sun.jvm.hotspot.HotSpotAgent.startServer:(ILjava/lang/String;I)V
        43: .line 422
            goto 61
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.debugger.DebuggerException
        44: astore 13 /* e */
        start local 13 // sun.jvm.hotspot.debugger.DebuggerException e
        45: .line 423
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Error attaching to process or starting server: "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        46: .line 424
            aload 13 /* e */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerException.printStackTrace:()V
        47: .line 425
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        end local 13 // sun.jvm.hotspot.debugger.DebuggerException e
        48: goto 61
        49: .line 426
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        50: .line 427
            new sun.jvm.hotspot.SAGetoptException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid pid: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 12 /* pid */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // int pid
        51: .line 429
      StackMap locals:
      StackMap stack:
            aload 7 /* javaExecutableName */
            ifnull 61
        52: .line 430
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Attaching to core "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* coreFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        53: .line 431
            ldc " from executable "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* javaExecutableName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " and starting RMI services, please wait..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        54: .line 430
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        55: .line 433
            aload 11 /* agent */
            aload 7 /* javaExecutableName */
            aload 8 /* coreFileName */
            aload 3 /* serverID */
            iload 10 /* rmiPort */
            invokevirtual sun.jvm.hotspot.HotSpotAgent.startServer:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
        56: .line 434
            goto 61
      StackMap locals:
      StackMap stack: sun.jvm.hotspot.debugger.DebuggerException
        57: astore 12 /* e */
        start local 12 // sun.jvm.hotspot.debugger.DebuggerException e
        58: .line 435
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "Error attaching to core file or starting server: "
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        59: .line 436
            aload 12 /* e */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerException.printStackTrace:()V
        60: .line 437
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        end local 12 // sun.jvm.hotspot.debugger.DebuggerException e
        61: .line 441
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            new java.lang.Thread
            dup
            aload 11 /* agent */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic run(Lsun/jvm/hotspot/HotSpotAgent;)Ljava/lang/Runnable;
              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:
                  ()V
                  sun/jvm/hotspot/HotSpotAgent.shutdownServer()Z (5)
                  ()V
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
            invokevirtual java.lang.Runtime.addShutdownHook:(Ljava/lang/Thread;)V
        62: .line 442
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Debugger attached and RMI services started."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* rmiPortString */
            ifnull 64
        63: .line 443
            new java.lang.StringBuilder
            dup
            ldc " RMI connector is bound to port "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 10 /* rmiPort */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 65
      StackMap locals: java.lang.String[] java.util.Map java.util.Map java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int sun.jvm.hotspot.HotSpotAgent
      StackMap stack: java.io.PrintStream java.lang.StringBuilder
        64: ldc ""
      StackMap locals: java.lang.String[] java.util.Map java.util.Map java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int sun.jvm.hotspot.HotSpotAgent
      StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
        65: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        66: .line 442
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        67: .line 445
            return
        end local 11 // sun.jvm.hotspot.HotSpotAgent agent
        end local 10 // int rmiPort
        end local 9 // java.lang.String pidString
        end local 8 // java.lang.String coreFileName
        end local 7 // java.lang.String javaExecutableName
        end local 6 // java.lang.String host
        end local 5 // java.lang.String registryPort
        end local 4 // java.lang.String rmiPortString
        end local 3 // java.lang.String serverID
        end local 2 // java.util.Map argMap
        end local 1 // java.util.Map longOptsMap
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   68     0                args  [Ljava/lang/String;
            9   68     1         longOptsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           10   68     2              argMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           12   68     3            serverID  Ljava/lang/String;
           13   68     4       rmiPortString  Ljava/lang/String;
           14   68     5        registryPort  Ljava/lang/String;
           15   68     6                host  Ljava/lang/String;
           16   68     7  javaExecutableName  Ljava/lang/String;
           17   68     8        coreFileName  Ljava/lang/String;
           18   68     9           pidString  Ljava/lang/String;
           27   68    10             rmiPort  I
           33   68    11               agent  Lsun/jvm/hotspot/HotSpotAgent;
           35   51    12                 pid  I
           45   48    13                   e  Lsun/jvm/hotspot/debugger/DebuggerException;
           58   61    12                   e  Lsun/jvm/hotspot/debugger/DebuggerException;
      Exception table:
        from    to  target  type
          19    20      21  Class java.lang.NumberFormatException
          28    29      30  Class java.lang.NumberFormatException
          35    36      37  Class java.lang.NumberFormatException
          42    43      44  Class sun.jvm.hotspot.debugger.DebuggerException
          42    43      49  Class java.lang.NumberFormatException
          55    56      57  Class sun.jvm.hotspot.debugger.DebuggerException
    MethodParameters:
      Name  Flags
      args  

  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 459
            aload 0 /* args */
            arraylength
            ifne 3
         1: .line 460
            invokestatic sun.jvm.hotspot.SALauncher.launcherHelp:()Z
            pop
         2: .line 461
            return
         3: .line 464
      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 465
            aload 0 /* args */
            iconst_0
            aaload
            invokestatic sun.jvm.hotspot.SALauncher.toolHelp:(Ljava/lang/String;)Z
            pop
         5: .line 466
            return
         6: .line 469
      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 470
            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 471
      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 472
            return
        end local 1 // java.lang.String arg
        11: .line 469
      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 476
            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 479
            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 480
            aload 2 /* func */
            ifnonnull 17
        16: .line 481
            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 483
      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 485
            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 486
            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 487
            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 489
      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