public abstract class sun.jvm.hotspot.tools.Tool implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: sun.jvm.hotspot.tools.Tool
super_class: java.lang.Object
{
private sun.jvm.hotspot.HotSpotAgent agent;
descriptor: Lsun/jvm/hotspot/HotSpotAgent;
flags: (0x0002) ACC_PRIVATE
private sun.jvm.hotspot.debugger.JVMDebugger jvmDebugger;
descriptor: Lsun/jvm/hotspot/debugger/JVMDebugger;
flags: (0x0002) ACC_PRIVATE
private int debugeeType;
descriptor: I
flags: (0x0002) ACC_PRIVATE
protected static final int DEBUGEE_PID;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 0
protected static final int DEBUGEE_CORE;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 1
protected static final int DEBUGEE_REMOTE;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 2
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/tools/Tool;
public void <init>(sun.jvm.hotspot.debugger.JVMDebugger);
descriptor: (Lsun/jvm/hotspot/debugger/JVMDebugger;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.jvm.hotspot.tools.Tool.jvmDebugger:Lsun/jvm/hotspot/debugger/JVMDebugger;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/tools/Tool;
0 3 1 d Lsun/jvm/hotspot/debugger/JVMDebugger;
MethodParameters:
Name Flags
d
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/tools/Tool;
protected boolean needsJavaPrefix();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/tools/Tool;
protected void setAgent(sun.jvm.hotspot.HotSpotAgent);
descriptor: (Lsun/jvm/hotspot/HotSpotAgent;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.jvm.hotspot.tools.Tool.agent:Lsun/jvm/hotspot/HotSpotAgent;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/tools/Tool;
0 2 1 a Lsun/jvm/hotspot/HotSpotAgent;
MethodParameters:
Name Flags
a
protected void setDebugeeType(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield sun.jvm.hotspot.tools.Tool.debugeeType:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/tools/Tool;
0 2 1 dt I
MethodParameters:
Name Flags
dt
protected sun.jvm.hotspot.HotSpotAgent getAgent();
descriptor: ()Lsun/jvm/hotspot/HotSpotAgent;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.tools.Tool.agent:Lsun/jvm/hotspot/HotSpotAgent;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/tools/Tool;
protected int getDebugeeType();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.tools.Tool.debugeeType:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/tools/Tool;
protected void printUsage();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.needsJavaPrefix:()Z
ifeq 4
2: new java.lang.StringBuilder
dup
ldc "java "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
3: goto 5
4: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.getName:()Ljava/lang/String;
astore 1
5: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Usage: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " [option] <pid>"
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
6: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t(to connect to a live java process)"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " or "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " [option] <executable> <core>"
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
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t(to connect to a core file)"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " or "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " [option] [server_id@]<remote server IP or hostname>"
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
10: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "\t\t(to connect to a remote debug server)"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "where option must be one of:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
13: aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.printFlagsUsage:()V
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/jvm/hotspot/tools/Tool;
1 15 1 name Ljava/lang/String;
protected void printFlagsUsage();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " -h | -help\tto print this help message"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/tools/Tool;
protected void usage();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.printUsage:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/tools/Tool;
protected void execute(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iconst_1
istore 2
start local 2 1: aload 0
aload 1
invokevirtual sun.jvm.hotspot.tools.Tool.start:([Ljava/lang/String;)I
istore 2
2: goto 9
StackMap locals: sun.jvm.hotspot.tools.Tool java.lang.String[] int
StackMap stack: java.lang.Throwable
3: astore 3
start local 3 4: aload 3
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintStream;)V
end local 3 5: aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.stop:()V
goto 10
6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
7: aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.stop:()V
8: aload 4
athrow
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.stop:()V
10: StackMap locals:
StackMap stack:
iload 2
invokestatic java.lang.System.exit:(I)V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/jvm/hotspot/tools/Tool;
0 12 1 args [Ljava/lang/String;
1 12 2 returnStatus I
4 5 3 t Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
1 5 6 any
MethodParameters:
Name Flags
args
public void stop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.tools.Tool.agent:Lsun/jvm/hotspot/HotSpotAgent;
ifnull 2
1: aload 0
getfield sun.jvm.hotspot.tools.Tool.agent:Lsun/jvm/hotspot/HotSpotAgent;
invokevirtual sun.jvm.hotspot.HotSpotAgent.detach:()Z
pop
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/jvm/hotspot/tools/Tool;
private int start(java.lang.String[]);
descriptor: ([Ljava/lang/String;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
arraylength
iconst_1
if_icmplt 1
aload 1
arraylength
iconst_2
if_icmple 3
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.usage:()V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
ldc "-h"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 6
4: aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.usage:()V
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
ldc "-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 9
7: aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.usage:()V
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
astore 2
start local 2 10: getstatic java.lang.System.out:Ljava/io/PrintStream;
astore 3
start local 3 11: iconst_0
istore 4
start local 4 12: aconst_null
astore 5
start local 5 13: aconst_null
astore 6
start local 6 14: aconst_null
astore 7
start local 7 15: aload 1
arraylength
tableswitch { // 1 - 2
1: 16
2: 23
default: 27
}
16: StackMap locals: sun.jvm.hotspot.tools.Tool java.lang.String[] java.io.PrintStream java.io.PrintStream int java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 1
iconst_0
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 4
17: aload 0
iconst_0
putfield sun.jvm.hotspot.tools.Tool.debugeeType:I
18: goto 29
StackMap locals:
StackMap stack: java.lang.NumberFormatException
19: pop
20: aload 1
iconst_0
aaload
astore 7
21: aload 0
iconst_2
putfield sun.jvm.hotspot.tools.Tool.debugeeType:I
22: goto 29
23: StackMap locals:
StackMap stack:
aload 1
iconst_0
aaload
astore 6
24: aload 1
iconst_1
aaload
astore 5
25: aload 0
iconst_1
putfield sun.jvm.hotspot.tools.Tool.debugeeType:I
26: goto 29
27: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.usage:()V
28: iconst_1
ireturn
29: StackMap locals:
StackMap stack:
aload 0
new sun.jvm.hotspot.HotSpotAgent
dup
invokespecial sun.jvm.hotspot.HotSpotAgent.<init>:()V
putfield sun.jvm.hotspot.tools.Tool.agent:Lsun/jvm/hotspot/HotSpotAgent;
30: aload 0
getfield sun.jvm.hotspot.tools.Tool.debugeeType:I
tableswitch { // 0 - 2
0: 31
1: 34
2: 39
default: 41
}
31: StackMap locals:
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
ldc "Attaching to process ID "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", please wait..."
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
32: aload 0
getfield sun.jvm.hotspot.tools.Tool.agent:Lsun/jvm/hotspot/HotSpotAgent;
iload 4
invokevirtual sun.jvm.hotspot.HotSpotAgent.attach:(I)V
33: goto 54
34: StackMap locals:
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
ldc "Attaching to core "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: ldc " from executable "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", please wait..."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
37: aload 0
getfield sun.jvm.hotspot.tools.Tool.agent:Lsun/jvm/hotspot/HotSpotAgent;
aload 6
aload 5
invokevirtual sun.jvm.hotspot.HotSpotAgent.attach:(Ljava/lang/String;Ljava/lang/String;)V
38: goto 54
39: StackMap locals:
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
ldc "Attaching to remote server "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", please wait..."
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
40: aload 0
getfield sun.jvm.hotspot.tools.Tool.agent:Lsun/jvm/hotspot/HotSpotAgent;
aload 7
invokevirtual sun.jvm.hotspot.HotSpotAgent.attach:(Ljava/lang/String;)V
41: StackMap locals:
StackMap stack:
goto 54
42: StackMap locals:
StackMap stack: sun.jvm.hotspot.debugger.DebuggerException
astore 8
start local 8 43: aload 0
getfield sun.jvm.hotspot.tools.Tool.debugeeType:I
tableswitch { // 0 - 2
0: 44
1: 46
2: 48
default: 49
}
44: StackMap locals: sun.jvm.hotspot.debugger.DebuggerException
StackMap stack:
aload 2
ldc "Error attaching to process: "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
45: goto 49
46: StackMap locals:
StackMap stack:
aload 2
ldc "Error attaching to core file: "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
47: goto 49
48: StackMap locals:
StackMap stack:
aload 2
ldc "Error attaching to remote server: "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
49: StackMap locals:
StackMap stack:
aload 8
invokevirtual sun.jvm.hotspot.debugger.DebuggerException.getMessage:()Ljava/lang/String;
ifnull 52
50: aload 2
aload 8
invokevirtual sun.jvm.hotspot.debugger.DebuggerException.getMessage:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
51: aload 8
invokevirtual sun.jvm.hotspot.debugger.DebuggerException.printStackTrace:()V
52: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.PrintStream.println:()V
53: iconst_1
ireturn
end local 8 54: StackMap locals:
StackMap stack:
aload 3
ldc "Debugger attached successfully."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
55: aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.startInternal:()V
56: iconst_0
ireturn
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 57 0 this Lsun/jvm/hotspot/tools/Tool;
0 57 1 args [Ljava/lang/String;
10 57 2 err Ljava/io/PrintStream;
11 57 3 out Ljava/io/PrintStream;
12 57 4 pid I
13 57 5 coreFileName Ljava/lang/String;
14 57 6 executableName Ljava/lang/String;
15 57 7 remoteServer Ljava/lang/String;
43 54 8 e Lsun/jvm/hotspot/debugger/DebuggerException;
Exception table:
from to target type
16 18 19 Class java.lang.NumberFormatException
30 41 42 Class sun.jvm.hotspot.debugger.DebuggerException
MethodParameters:
Name Flags
args
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.tools.Tool.jvmDebugger:Lsun/jvm/hotspot/debugger/JVMDebugger;
ifnonnull 2
1: new java.lang.RuntimeException
dup
ldc "Tool.start() called with no JVMDebugger set."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
new sun.jvm.hotspot.HotSpotAgent
dup
invokespecial sun.jvm.hotspot.HotSpotAgent.<init>:()V
putfield sun.jvm.hotspot.tools.Tool.agent:Lsun/jvm/hotspot/HotSpotAgent;
3: aload 0
getfield sun.jvm.hotspot.tools.Tool.agent:Lsun/jvm/hotspot/HotSpotAgent;
aload 0
getfield sun.jvm.hotspot.tools.Tool.jvmDebugger:Lsun/jvm/hotspot/debugger/JVMDebugger;
invokevirtual sun.jvm.hotspot.HotSpotAgent.attach:(Lsun/jvm/hotspot/debugger/JVMDebugger;)V
4: aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.startInternal:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/jvm/hotspot/tools/Tool;
private void startInternal();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
astore 1
start local 1 1: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
astore 2
start local 2 2: aload 2
invokevirtual sun.jvm.hotspot.runtime.VM.isCore:()Z
ifeq 5
3: aload 1
ldc "Core build detected."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: goto 12
StackMap locals: java.io.PrintStream sun.jvm.hotspot.runtime.VM
StackMap stack:
5: aload 2
invokevirtual sun.jvm.hotspot.runtime.VM.isClientCompiler:()Z
ifeq 8
6: aload 1
ldc "Client compiler detected."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: goto 12
StackMap locals:
StackMap stack:
8: aload 2
invokevirtual sun.jvm.hotspot.runtime.VM.isServerCompiler:()Z
ifeq 11
9: aload 1
ldc "Server compiler detected."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: goto 12
11: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Fatal error: should have been able to detect core/C1/C2 build"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.jvm.hotspot.runtime.VM.getVMRelease:()Ljava/lang/String;
astore 3
start local 3 13: aload 3
ifnull 16
14: aload 1
ldc "JVM version is "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
15: aload 1
aload 3
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokevirtual sun.jvm.hotspot.tools.Tool.run:()V
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/jvm/hotspot/tools/Tool;
1 18 1 out Ljava/io/PrintStream;
2 18 2 vm Lsun/jvm/hotspot/runtime/VM;
13 18 3 version Ljava/lang/String;
}
SourceFile: "Tool.java"