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 170
            aconst_null
            putstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
         1: .line 457
            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 458
            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 459
            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 460
            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 461
            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 462
            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 463
            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 457
            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 456
            putstatic sun.jvm.hotspot.SALauncher.toolMap:Ljava/util/Map;
        10: .line 463
            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. Only valid with --binaryheap."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 130
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --gz <1-9>              The compression level for gzipped dump file. Only valid with --binaryheap."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 131
            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
         6: .line 132
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "    --clstats               To print class loader statistics."
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 133
            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
         8: .line 134
            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 140
            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 141
            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 142
            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 146
            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 147
            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 151
            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 153
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.jstackHelp:()Z
            ireturn
         9: .line 155
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.jinfoHelp:()Z
            ireturn
        10: .line 157
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.jmapHelp:()Z
            ireturn
        11: .line 159
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.jsnapHelp:()Z
            ireturn
        12: .line 161
      StackMap locals:
      StackMap stack:
            invokestatic sun.jvm.hotspot.SALauncher.debugdHelp:()Z
            ireturn
        13: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* toolName */
            invokestatic sun.jvm.hotspot.SALauncher.commonHelp:(Ljava/lang/String;)Z
            ireturn
        14: .line 166
      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 174
            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 175
            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 176
            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 177
            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 178
            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 179
            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 182
      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 183
            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 184
            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 185
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            ifnull 12
        11: .line 186
            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 183
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 190
            aload 2 /* pid */
            ifnull 24
        14: .line 191
            aload 3 /* exe */
            ifnull 16
        15: .line 192
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --exe"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 193
      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 194
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --core"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 195
      StackMap locals:
      StackMap stack:
            aload 5 /* connect */
            getstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
            if_acmpeq 20
        19: .line 196
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --connect"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 197
      StackMap locals:
      StackMap stack:
            aload 2 /* pid */
            ldc "^\\d+$"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifne 22
        21: .line 198
            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 201
      StackMap locals:
      StackMap stack:
            aload 6 /* newArgs */
            aload 2 /* pid */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 202
            goto 36
      StackMap locals:
      StackMap stack:
        24: aload 3 /* exe */
            ifnull 34
        25: .line 203
            aload 5 /* connect */
            getstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
            if_acmpeq 27
        26: .line 204
            new sun.jvm.hotspot.SAGetoptException
            dup
            ldc "Unnecessary argument: --connect"
            invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 205
      StackMap locals:
      StackMap stack:
            aload 3 /* exe */
            invokevirtual java.lang.String.length:()I
            ifne 29
        28: .line 206
            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 209
      StackMap locals:
      StackMap stack:
            aload 6 /* newArgs */
            aload 3 /* exe */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        30: .line 211
            aload 4 /* core */
            ifnull 31
            aload 4 /* core */
            invokevirtual java.lang.String.length:()I
            ifne 32
        31: .line 212
      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 215
      StackMap locals:
      StackMap stack:
            aload 6 /* newArgs */
            aload 4 /* core */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        33: .line 216
            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 217
            aload 6 /* newArgs */
            aload 5 /* connect */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        36: .line 220
      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 247
            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 248
            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 249
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* newArgMap */
        start local 4 // java.util.Map newArgMap
         3: .line 261
            goto 11
        start local 5 // java.lang.String s
         4: .line 262
      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 263
            aload 6 /* val */
            ifnull 8
         6: .line 264
            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 265
            goto 11
         8: .line 266
      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 267
            aload 6 /* val */
            ifnull 11
        10: .line 268
            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 261
      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 273
            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 277
            ldc "exe="
            ldc "exe"
         1: .line 278
            ldc "core="
            ldc "core"
         2: .line 279
            ldc "pid="
            ldc "pid"
         3: .line 277
            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 280
            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 281
            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 282
            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 285
            ldc "exe="
            ldc "exe"
         1: .line 286
            ldc "core="
            ldc "core"
         2: .line 287
            ldc "pid="
            ldc "pid"
         3: .line 285
            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 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
         5: .line 289
            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 290
            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 293
            ldc "exe="
            ldc "exe"
         1: .line 294
            ldc "core="
            ldc "core"
         2: .line 295
            ldc "pid="
            ldc "pid"
         3: .line 296
            ldc "connect="
            ldc "connect"
         4: .line 297
            ldc "mixed"
            ldc "-m"
         5: .line 298
            ldc "locks"
            ldc "-l"
         6: .line 293
            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 299
            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 300
            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 301
            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 302
            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=5, locals=7, args_size=1
        start local 0 // java.lang.String[] oldArgs
         0: .line 305
            bipush 11
            anewarray java.util.Map$Entry
            dup
            iconst_0
         1: .line 306
            ldc "exe="
            ldc "exe"
            invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
            aastore
            dup
            iconst_1
         2: .line 307
            ldc "core="
            ldc "core"
            invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
            aastore
            dup
            iconst_2
         3: .line 308
            ldc "pid="
            ldc "pid"
            invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
            aastore
            dup
            iconst_3
         4: .line 309
            ldc "connect="
            ldc "connect"
            invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
            aastore
            dup
            iconst_4
         5: .line 310
            ldc "heap"
            ldc "-heap"
            invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
            aastore
            dup
            iconst_5
         6: .line 311
            ldc "binaryheap"
            ldc "binaryheap"
            invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
            aastore
            dup
            bipush 6
         7: .line 312
            ldc "dumpfile="
            ldc "dumpfile"
            invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
            aastore
            dup
            bipush 7
         8: .line 313
            ldc "gz="
            ldc "gz"
            invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
            aastore
            dup
            bipush 8
         9: .line 314
            ldc "histo"
            ldc "-histo"
            invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
            aastore
            dup
            bipush 9
        10: .line 315
            ldc "clstats"
            ldc "-clstats"
            invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
            aastore
            dup
            bipush 10
        11: .line 316
            ldc "finalizerinfo"
            ldc "-finalizerinfo"
            invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
            aastore
        12: .line 305
            invokestatic java.util.Map.ofEntries:([Ljava/util/Map$Entry;)Ljava/util/Map;
            astore 1 /* longOptsMap */
        start local 1 // java.util.Map longOptsMap
        13: .line 317
            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
        14: .line 319
            aload 2 /* newArgMap */
            ldc "binaryheap"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            istore 3 /* requestHeapdump */
        start local 3 // boolean requestHeapdump
        15: .line 320
            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
        16: .line 321
            aload 2 /* newArgMap */
            ldc "gz"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* gzLevel */
        start local 5 // java.lang.String gzLevel
        17: .line 322
            ldc "-heap:format=b"
            astore 6 /* command */
        start local 6 // java.lang.String command
        18: .line 323
            iload 3 /* requestHeapdump */
            ifne 20
            aload 4 /* dumpfile */
            ifnull 20
        19: .line 324
            new java.lang.IllegalArgumentException
            dup
            ldc "Unexpected argument: dumpfile"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 326
      StackMap locals: java.lang.String[] java.util.Map java.util.Map int java.lang.String java.lang.String java.lang.String
      StackMap stack:
            iload 3 /* requestHeapdump */
            ifeq 26
        21: .line 327
            aload 5 /* gzLevel */
            ifnull 23
        22: .line 328
            new java.lang.StringBuilder
            dup
            aload 6 /* command */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ",gz="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* gzLevel */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* command */
        23: .line 330
      StackMap locals:
      StackMap stack:
            aload 4 /* dumpfile */
            ifnull 25
        24: .line 331
            new java.lang.StringBuilder
            dup
            aload 6 /* command */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ",file="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* dumpfile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* command */
        25: .line 333
      StackMap locals:
      StackMap stack:
            aload 2 /* newArgMap */
            aload 6 /* command */
            aconst_null
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 336
      StackMap locals:
      StackMap stack:
            aload 2 /* newArgMap */
            ldc "binaryheap"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 337
            aload 2 /* newArgMap */
            ldc "dumpfile"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 338
            aload 2 /* newArgMap */
            ldc "gz"
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 339
            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
        30: .line 340
            return
        end local 6 // java.lang.String command
        end local 5 // java.lang.String gzLevel
        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   31     0          oldArgs  [Ljava/lang/String;
           13   31     1      longOptsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           14   31     2        newArgMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           15   31     3  requestHeapdump  Z
           16   31     4         dumpfile  Ljava/lang/String;
           17   31     5          gzLevel  Ljava/lang/String;
           18   31     6          command  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 343
            ldc "exe="
            ldc "exe"
         1: .line 344
            ldc "core="
            ldc "core"
         2: .line 345
            ldc "pid="
            ldc "pid"
         3: .line 346
            ldc "connect="
            ldc "connect"
         4: .line 347
            ldc "flags"
            ldc "-flags"
         5: .line 348
            ldc "sysprops"
            ldc "-sysprops"
         6: .line 343
            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 349
            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 350
            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 351
            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 354
            ldc "exe="
            ldc "exe"
         1: .line 355
            ldc "core="
            ldc "core"
         2: .line 356
            ldc "pid="
            ldc "pid"
         3: .line 357
            ldc "connect="
            ldc "connect"
         4: .line 358
            ldc "all"
            ldc "-a"
         5: .line 354
            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 359
            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 360
            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 361
            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 368
            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 370
            ldc "exe="
            ldc "exe"
         2: .line 371
            ldc "core="
            ldc "core"
         3: .line 372
            ldc "pid="
            ldc "pid"
         4: .line 373
            ldc "serverid="
            ldc "serverid"
         5: .line 374
            ldc "rmiport="
            ldc "rmiport"
         6: .line 375
            ldc "registryport="
            ldc "registryport"
         7: .line 376
            ldc "hostname="
            ldc "hostname"
         8: .line 370
            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 378
            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 382
            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 384
            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 385
            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 386
            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 387
            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 388
            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 389
            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 390
            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 393
            aload 5 /* registryPort */
            ifnull 24
        19: .line 395
            aload 5 /* registryPort */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            pop
        20: .line 396
            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 397
            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 399
      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 403
      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 404
            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 408
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* rmiPort */
        start local 10 // int rmiPort
        27: .line 409
            aload 4 /* rmiPortString */
            ifnull 32
        28: .line 411
            aload 4 /* rmiPortString */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 10 /* rmiPort */
        29: .line 412
            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 413
            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 417
      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 419
            aload 9 /* pidString */
            ifnull 51
        34: .line 420
            iconst_0
            istore 12 /* pid */
        start local 12 // int pid
        35: .line 422
            aload 9 /* pidString */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 12 /* pid */
        36: .line 423
            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 424
            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 426
      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 427
            ldc " please wait..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 426
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        42: .line 429
            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 430
            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 431
            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 432
            aload 13 /* e */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerException.printStackTrace:()V
        47: .line 433
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        end local 13 // sun.jvm.hotspot.debugger.DebuggerException e
        48: goto 61
        49: .line 434
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        50: .line 435
            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 437
      StackMap locals:
      StackMap stack:
            aload 7 /* javaExecutableName */
            ifnull 61
        52: .line 438
            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 439
            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 438
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        55: .line 441
            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 442
            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 443
            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 444
            aload 12 /* e */
            invokevirtual sun.jvm.hotspot.debugger.DebuggerException.printStackTrace:()V
        60: .line 445
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        end local 12 // sun.jvm.hotspot.debugger.DebuggerException e
        61: .line 449
      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 450
            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 451
            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 450
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        67: .line 453
            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 467
            aload 0 /* args */
            arraylength
            ifne 3
         1: .line 468
            invokestatic sun.jvm.hotspot.SALauncher.launcherHelp:()Z
            pop
         2: .line 469
            return
         3: .line 472
      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 473
            aload 0 /* args */
            iconst_0
            aaload
            invokestatic sun.jvm.hotspot.SALauncher.toolHelp:(Ljava/lang/String;)Z
            pop
         5: .line 474
            return
         6: .line 477
      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 478
            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 479
      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 480
            return
        end local 1 // java.lang.String arg
        11: .line 477
      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 484
            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 487
            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 488
            aload 2 /* func */
            ifnonnull 17
        16: .line 489
            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 491
      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 493
            goto 23
      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 494
            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 495
            aload 0 /* args */
            iconst_0
            aaload
            invokestatic sun.jvm.hotspot.SALauncher.toolHelp:(Ljava/lang/String;)Z
            pop
        22: .line 497
            iconst_1
            invokestatic java.lang.System.exit:(I)V
        end local 2 // sun.jvm.hotspot.SAGetoptException e
        23: .line 499
      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   24     0     args  [Ljava/lang/String;
            8   11     1      arg  Ljava/lang/String;
           14   24     1  oldArgs  [Ljava/lang/String;
           15   18     2     func  Ljava/util/function/Consumer<[Ljava/lang/String;>;
           20   23     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