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: aconst_null
putstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
1: 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: 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: 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: 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: 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: 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: 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: 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: putstatic sun.jvm.hotspot.SALauncher.toolMap:Ljava/util/Map;
10: 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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 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: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " clhsdb \tcommand line debugger"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " hsdb \tui debugger"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: 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: 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: 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: 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: 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: 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 0: aload 0
iconst_0
invokestatic sun.jvm.hotspot.SALauncher.commonHelp:(Ljava/lang/String;Z)Z
ireturn
end local 0 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 0: aload 0
iconst_1
invokestatic sun.jvm.hotspot.SALauncher.commonHelp:(Ljava/lang/String;Z)Z
ireturn
end local 0 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 start local 1 0: 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: 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: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " --exe <executable for corefile>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: iload 1
ifeq 5
4: 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: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
6: 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: 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: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " absolute or relative paths."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: 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: iload 1
ifeq 14
11: 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: 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: goto 15
14: 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: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
16: 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
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: 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
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: iload 1
ifeq 21
19: 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
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: 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
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: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 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: 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: 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: 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: 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: 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: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " --flags To print VM flags."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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 0: aload 0
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: StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.SALauncher.jstackHelp:()Z
ireturn
9: StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.SALauncher.jinfoHelp:()Z
ireturn
10: StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.SALauncher.jmapHelp:()Z
ireturn
11: StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.SALauncher.jsnapHelp:()Z
ireturn
12: StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.SALauncher.debugdHelp:()Z
ireturn
13: StackMap locals:
StackMap stack:
aload 0
invokestatic sun.jvm.hotspot.SALauncher.commonHelp:(Ljava/lang/String;)Z
ireturn
14: StackMap locals:
StackMap stack:
invokestatic sun.jvm.hotspot.SALauncher.launcherHelp:()Z
ireturn
end local 0 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 start local 1 0: aload 0
ldc "pid"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 1: aload 0
ldc "exe"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 2: aload 0
ldc "core"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 3: aload 0
ldc "connect"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 4: iload 1
ifne 6
aload 2
ifnonnull 6
aload 3
ifnonnull 6
aload 5
getstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
if_acmpne 6
5: 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: 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
start local 6 7: aload 0
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
start local 7 9: aload 6
aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
ifnull 12
11: aload 6
aload 7
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 12: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
13: aload 2
ifnull 24
14: aload 3
ifnull 16
15: new sun.jvm.hotspot.SAGetoptException
dup
ldc "Unnecessary argument: --exe"
invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
athrow
16: 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
ifnull 18
17: new sun.jvm.hotspot.SAGetoptException
dup
ldc "Unnecessary argument: --core"
invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 5
getstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
if_acmpeq 20
19: new sun.jvm.hotspot.SAGetoptException
dup
ldc "Unnecessary argument: --connect"
invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 2
ldc "^\\d+$"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifne 22
21: 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
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: StackMap locals:
StackMap stack:
aload 6
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: goto 36
StackMap locals:
StackMap stack:
24: aload 3
ifnull 34
25: aload 5
getstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
if_acmpeq 27
26: new sun.jvm.hotspot.SAGetoptException
dup
ldc "Unnecessary argument: --connect"
invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.String.length:()I
ifne 29
28: new sun.jvm.hotspot.SAGetoptException
dup
ldc "You have to set --exe."
invokespecial sun.jvm.hotspot.SAGetoptException.<init>:(Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 6
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
30: aload 4
ifnull 31
aload 4
invokevirtual java.lang.String.length:()I
ifne 32
31: 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: StackMap locals:
StackMap stack:
aload 6
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
33: goto 36
StackMap locals:
StackMap stack:
34: aload 5
getstatic sun.jvm.hotspot.SALauncher.NO_REMOTE:Ljava/lang/String;
if_acmpeq 36
35: aload 6
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
36: StackMap locals:
StackMap stack:
aload 6
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 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: new sun.jvm.hotspot.SAGetopt
dup
aload 0
invokespecial sun.jvm.hotspot.SAGetopt.<init>:([Ljava/lang/String;)V
astore 2
start local 2 1: aload 1
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
start local 3 2: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 3: goto 11
start local 5 4: 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
aload 5
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 5: aload 6
ifnull 8
6: aload 4
aload 6
aconst_null
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: goto 11
8: StackMap locals: java.lang.String
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
aload 5
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
9: aload 6
ifnull 11
10: aload 4
aload 6
aload 2
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 end local 5 11: StackMap locals:
StackMap stack:
aload 2
aconst_null
aload 3
invokevirtual sun.jvm.hotspot.SAGetopt.next:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
dup
astore 5
start local 5 12: ifnonnull 4
13: aload 4
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: ldc "exe="
ldc "exe"
1: ldc "core="
ldc "core"
2: ldc "pid="
ldc "pid"
3: 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
start local 1 4: aload 0
aload 1
invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
astore 2
start local 2 5: aload 2
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: return
end local 2 end local 1 end local 0 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 0: ldc "exe="
ldc "exe"
1: ldc "core="
ldc "core"
2: ldc "pid="
ldc "pid"
3: 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
start local 1 4: aload 0
aload 1
invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
astore 2
start local 2 5: aload 2
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: return
end local 2 end local 1 end local 0 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 0: ldc "exe="
ldc "exe"
1: ldc "core="
ldc "core"
2: ldc "pid="
ldc "pid"
3: ldc "connect="
ldc "connect"
4: ldc "mixed"
ldc "-m"
5: ldc "locks"
ldc "-l"
6: 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
start local 1 7: aload 0
aload 1
invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
astore 2
start local 2 8: new sun.jvm.hotspot.tools.JStack
dup
iconst_0
iconst_0
invokespecial sun.jvm.hotspot.tools.JStack.<init>:(ZZ)V
astore 3
start local 3 9: aload 3
aload 2
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: return
end local 3 end local 2 end local 1 end local 0 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 0: bipush 11
anewarray java.util.Map$Entry
dup
iconst_0
1: ldc "exe="
ldc "exe"
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
aastore
dup
iconst_1
2: ldc "core="
ldc "core"
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
aastore
dup
iconst_2
3: ldc "pid="
ldc "pid"
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
aastore
dup
iconst_3
4: ldc "connect="
ldc "connect"
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
aastore
dup
iconst_4
5: ldc "heap"
ldc "-heap"
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
aastore
dup
iconst_5
6: ldc "binaryheap"
ldc "binaryheap"
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
aastore
dup
bipush 6
7: ldc "dumpfile="
ldc "dumpfile"
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
aastore
dup
bipush 7
8: ldc "gz="
ldc "gz"
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
aastore
dup
bipush 8
9: ldc "histo"
ldc "-histo"
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
aastore
dup
bipush 9
10: ldc "clstats"
ldc "-clstats"
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
aastore
dup
bipush 10
11: ldc "finalizerinfo"
ldc "-finalizerinfo"
invokestatic java.util.Map.entry:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map$Entry;
aastore
12: invokestatic java.util.Map.ofEntries:([Ljava/util/Map$Entry;)Ljava/util/Map;
astore 1
start local 1 13: aload 0
aload 1
invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
astore 2
start local 2 14: aload 2
ldc "binaryheap"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
istore 3
start local 3 15: aload 2
ldc "dumpfile"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 16: aload 2
ldc "gz"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 17: ldc "-heap:format=b"
astore 6
start local 6 18: iload 3
ifne 20
aload 4
ifnull 20
19: new java.lang.IllegalArgumentException
dup
ldc "Unexpected argument: dumpfile"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
20: 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
ifeq 26
21: aload 5
ifnull 23
22: new java.lang.StringBuilder
dup
aload 6
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
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
23: StackMap locals:
StackMap stack:
aload 4
ifnull 25
24: new java.lang.StringBuilder
dup
aload 6
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
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
25: StackMap locals:
StackMap stack:
aload 2
aload 6
aconst_null
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
26: StackMap locals:
StackMap stack:
aload 2
ldc "binaryheap"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
27: aload 2
ldc "dumpfile"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
28: aload 2
ldc "gz"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
29: aload 2
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: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: ldc "exe="
ldc "exe"
1: ldc "core="
ldc "core"
2: ldc "pid="
ldc "pid"
3: ldc "connect="
ldc "connect"
4: ldc "flags"
ldc "-flags"
5: ldc "sysprops"
ldc "-sysprops"
6: 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
start local 1 7: aload 0
aload 1
invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
astore 2
start local 2 8: aload 2
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: return
end local 2 end local 1 end local 0 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 0: ldc "exe="
ldc "exe"
1: ldc "core="
ldc "core"
2: ldc "pid="
ldc "pid"
3: ldc "connect="
ldc "connect"
4: ldc "all"
ldc "-a"
5: 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
start local 1 6: aload 0
aload 1
invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
astore 2
start local 2 7: aload 2
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: return
end local 2 end local 1 end local 0 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 0: ldc "sun.jvm.hotspot.debugger.useWindbgDebugger"
ldc "true"
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
1: ldc "exe="
ldc "exe"
2: ldc "core="
ldc "core"
3: ldc "pid="
ldc "pid"
4: ldc "serverid="
ldc "serverid"
5: ldc "rmiport="
ldc "rmiport"
6: ldc "registryport="
ldc "registryport"
7: ldc "hostname="
ldc "hostname"
8: 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
start local 1 9: aload 0
aload 1
invokestatic sun.jvm.hotspot.SALauncher.parseOptions:([Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;
astore 2
start local 2 10: new java.util.HashMap
dup
aload 2
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: aload 2
ldc "serverid"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 12: aload 2
ldc "rmiport"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 13: aload 2
ldc "registryport"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 14: aload 2
ldc "hostname"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 15: aload 2
ldc "exe"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 16: aload 2
ldc "core"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 17: aload 2
ldc "pid"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 18: aload 5
ifnull 24
19: aload 5
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
pop
20: 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: 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
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: StackMap locals:
StackMap stack:
ldc "sun.jvm.hotspot.rmi.port"
aload 5
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
24: StackMap locals:
StackMap stack:
aload 6
ifnull 26
aload 6
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 26
25: ldc "java.rmi.server.hostname"
aload 6
invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
pop
26: StackMap locals:
StackMap stack:
iconst_0
istore 10
start local 10 27: aload 4
ifnull 32
28: aload 4
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 10
29: 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: 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
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: StackMap locals:
StackMap stack:
new sun.jvm.hotspot.HotSpotAgent
dup
invokespecial sun.jvm.hotspot.HotSpotAgent.<init>:()V
astore 11
start local 11 33: aload 9
ifnull 51
34: iconst_0
istore 12
start local 12 35: aload 9
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 12
36: 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: 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
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: 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
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: ldc " please wait..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
41: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
42: aload 11
iload 12
aload 3
iload 10
invokevirtual sun.jvm.hotspot.HotSpotAgent.startServer:(ILjava/lang/String;I)V
43: goto 61
StackMap locals:
StackMap stack: sun.jvm.hotspot.debugger.DebuggerException
44: astore 13
start local 13 45: 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: aload 13
invokevirtual sun.jvm.hotspot.debugger.DebuggerException.printStackTrace:()V
47: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 13 48: goto 61
49: StackMap locals:
StackMap stack: java.lang.NumberFormatException
pop
50: 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
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 51: StackMap locals:
StackMap stack:
aload 7
ifnull 61
52: 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
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
53: ldc " from executable "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
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: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
55: aload 11
aload 7
aload 8
aload 3
iload 10
invokevirtual sun.jvm.hotspot.HotSpotAgent.startServer:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
56: goto 61
StackMap locals:
StackMap stack: sun.jvm.hotspot.debugger.DebuggerException
57: astore 12
start local 12 58: 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: aload 12
invokevirtual sun.jvm.hotspot.debugger.DebuggerException.printStackTrace:()V
60: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 12 61: StackMap locals:
StackMap stack:
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
new java.lang.Thread
dup
aload 11
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: 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
ifnull 64
63: new java.lang.StringBuilder
dup
ldc " RMI connector is bound to port "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
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: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
67: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
arraylength
ifne 3
1: invokestatic sun.jvm.hotspot.SALauncher.launcherHelp:()Z
pop
2: return
3: StackMap locals:
StackMap stack:
aload 0
arraylength
iconst_1
if_icmpne 6
aload 0
iconst_0
aaload
ldc "clhsdb"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
aload 0
iconst_0
aaload
ldc "hsdb"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
4: aload 0
iconst_0
aaload
invokestatic sun.jvm.hotspot.SALauncher.toolHelp:(Ljava/lang/String;)Z
pop
5: return
6: StackMap locals:
StackMap stack:
aload 0
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
start local 1 8: aload 1
ldc "-h"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
aload 1
ldc "-help"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
aload 1
ldc "--help"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
9: StackMap locals: java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
aload 0
iconst_0
aaload
invokestatic sun.jvm.hotspot.SALauncher.toolHelp:(Ljava/lang/String;)Z
pop
10: return
end local 1 11: 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: aload 0
iconst_1
aload 0
arraylength
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 1
start local 1 14: getstatic sun.jvm.hotspot.SALauncher.toolMap:Ljava/util/Map;
aload 0
iconst_0
aaload
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.function.Consumer
astore 2
start local 2 15: aload 2
ifnonnull 17
16: 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
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: StackMap locals: java.lang.String[] java.lang.String[] java.util.function.Consumer
StackMap stack:
aload 2
aload 1
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 2 18: goto 23
StackMap locals: java.lang.String[] java.lang.String[]
StackMap stack: sun.jvm.hotspot.SAGetoptException
19: astore 2
start local 2 20: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 2
invokevirtual sun.jvm.hotspot.SAGetoptException.getMessage:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: aload 0
iconst_0
aaload
invokestatic sun.jvm.hotspot.SALauncher.toolHelp:(Ljava/lang/String;)Z
pop
22: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 2 23: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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