class sun.jvm.hotspot.CommandProcessor$50 extends sun.jvm.hotspot.CommandProcessor$Command
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.jvm.hotspot.CommandProcessor$50
super_class: sun.jvm.hotspot.CommandProcessor$Command
{
final sun.jvm.hotspot.CommandProcessor this$0;
descriptor: Lsun/jvm/hotspot/CommandProcessor;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(sun.jvm.hotspot.CommandProcessor, sun.jvm.hotspot.CommandProcessor, java.lang.String, java.lang.String, boolean);
descriptor: (Lsun/jvm/hotspot/CommandProcessor;Lsun/jvm/hotspot/CommandProcessor;Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=6
start local 0 // sun.jvm.hotspot.CommandProcessor$50 this
start local 3 // java.lang.String $anonymous0
start local 4 // java.lang.String $anonymous1
start local 5 // boolean $anonymous2
0: .line 1706
aload 0 /* this */
aload 2
putfield sun.jvm.hotspot.CommandProcessor$50.this$0:Lsun/jvm/hotspot/CommandProcessor;
aload 0 /* this */
aload 1
aload 3 /* $anonymous0 */
aload 4 /* $anonymous1 */
iload 5 /* $anonymous2 */
invokespecial sun.jvm.hotspot.CommandProcessor$Command.<init>:(Lsun/jvm/hotspot/CommandProcessor;Ljava/lang/String;Ljava/lang/String;Z)V
return
end local 5 // boolean $anonymous2
end local 4 // java.lang.String $anonymous1
end local 3 // java.lang.String $anonymous0
end local 0 // sun.jvm.hotspot.CommandProcessor$50 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/CommandProcessor$50;
0 1 3 $anonymous0 Ljava/lang/String;
0 1 4 $anonymous1 Ljava/lang/String;
0 1 5 $anonymous2 Z
MethodParameters:
Name Flags
this$0 final
this$1 final
$anonymous0
$anonymous1
$anonymous2
public void doit(sun.jvm.hotspot.CommandProcessor$Tokens);
descriptor: (Lsun/jvm/hotspot/CommandProcessor$Tokens;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=2
start local 0 // sun.jvm.hotspot.CommandProcessor$50 this
start local 1 // sun.jvm.hotspot.CommandProcessor$Tokens t
0: .line 1708
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.countTokens:()I
istore 2 /* tokenCount */
start local 2 // int tokenCount
1: .line 1709
iload 2 /* tokenCount */
iconst_1
if_icmpeq 4
iload 2 /* tokenCount */
iconst_2
if_icmpeq 4
2: .line 1710
aload 0 /* this */
invokevirtual sun.jvm.hotspot.CommandProcessor$50.usage:()V
3: .line 1711
return
4: .line 1715
StackMap locals: int
StackMap stack:
aconst_null
astore 3 /* ik */
start local 3 // sun.jvm.hotspot.oops.InstanceKlass ik
5: .line 1716
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.nextToken:()Ljava/lang/String;
astore 4 /* classname */
start local 4 // java.lang.String classname
6: .line 1717
aload 4 /* classname */
ldc "0x"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 15
7: .line 1719
invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
astore 5 /* vm */
start local 5 // sun.jvm.hotspot.runtime.VM vm
8: .line 1720
aload 5 /* vm */
invokevirtual sun.jvm.hotspot.runtime.VM.getDebugger:()Lsun/jvm/hotspot/debugger/JVMDebugger;
aload 4 /* classname */
invokeinterface sun.jvm.hotspot.debugger.JVMDebugger.parseAddress:(Ljava/lang/String;)Lsun/jvm/hotspot/debugger/Address;
astore 6 /* addr */
start local 6 // sun.jvm.hotspot.debugger.Address addr
9: .line 1721
aload 6 /* addr */
lconst_0
invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
invokestatic sun.jvm.hotspot.oops.Metadata.instantiateWrapperFor:(Lsun/jvm/hotspot/debugger/Address;)Lsun/jvm/hotspot/oops/Metadata;
astore 7 /* metadata */
start local 7 // sun.jvm.hotspot.oops.Metadata metadata
10: .line 1722
aload 7 /* metadata */
instanceof sun.jvm.hotspot.oops.InstanceKlass
ifeq 13
11: .line 1723
aload 7 /* metadata */
checkcast sun.jvm.hotspot.oops.InstanceKlass
astore 3 /* ik */
12: .line 1724
goto 19
13: .line 1725
StackMap locals: sun.jvm.hotspot.CommandProcessor$50 sun.jvm.hotspot.CommandProcessor$Tokens int sun.jvm.hotspot.oops.InstanceKlass java.lang.String sun.jvm.hotspot.runtime.VM sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.oops.Metadata
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Specified address is not an InstanceKlass"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: .line 1726
return
end local 7 // sun.jvm.hotspot.oops.Metadata metadata
end local 6 // sun.jvm.hotspot.debugger.Address addr
end local 5 // sun.jvm.hotspot.runtime.VM vm
15: .line 1729
StackMap locals:
StackMap stack:
aload 4 /* classname */
invokestatic sun.jvm.hotspot.utilities.SystemDictionaryHelper.findInstanceKlass:(Ljava/lang/String;)Lsun/jvm/hotspot/oops/InstanceKlass;
astore 3 /* ik */
16: .line 1730
aload 3 /* ik */
ifnonnull 19
17: .line 1731
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "class not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4 /* classname */
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 1732
return
19: .line 1737
StackMap locals:
StackMap stack:
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 5 /* buf */
start local 5 // java.lang.StringBuffer buf
20: .line 1738
iload 2 /* tokenCount */
iconst_1
if_icmple 23
21: .line 1739
aload 5 /* buf */
aload 1 /* t */
invokevirtual sun.jvm.hotspot.CommandProcessor$Tokens.nextToken:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
22: .line 1740
goto 24
23: .line 1741
StackMap locals: java.lang.StringBuffer
StackMap stack:
aload 5 /* buf */
bipush 46
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
24: .line 1743
StackMap locals:
StackMap stack:
aload 5 /* buf */
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
25: .line 1744
aload 5 /* buf */
aload 3 /* ik */
invokevirtual sun.jvm.hotspot.oops.InstanceKlass.getName:()Lsun/jvm/hotspot/oops/Symbol;
invokevirtual sun.jvm.hotspot.oops.Symbol.asString:()Ljava/lang/String;
bipush 47
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
26: .line 1745
aload 5 /* buf */
ldc ".class"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
27: .line 1746
aload 5 /* buf */
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
astore 6 /* fileName */
start local 6 // java.lang.String fileName
28: .line 1747
new java.io.File
dup
aload 6 /* fileName */
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 7 /* file */
start local 7 // java.io.File file
29: .line 1751
aload 6 /* fileName */
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 8 /* index */
start local 8 // int index
30: .line 1752
new java.io.File
dup
aload 6 /* fileName */
iconst_0
iload 8 /* index */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 9 /* dir */
start local 9 // java.io.File dir
31: .line 1753
aload 9 /* dir */
invokevirtual java.io.File.mkdirs:()Z
pop
32: .line 1754
aconst_null
astore 10
aconst_null
astore 11
33: new java.io.FileOutputStream
dup
aload 7 /* file */
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 12 /* fos */
start local 12 // java.io.FileOutputStream fos
34: .line 1755
new sun.jvm.hotspot.tools.jcore.ClassWriter
dup
aload 3 /* ik */
aload 12 /* fos */
invokespecial sun.jvm.hotspot.tools.jcore.ClassWriter.<init>:(Lsun/jvm/hotspot/oops/InstanceKlass;Ljava/io/OutputStream;)V
astore 13 /* cw */
start local 13 // sun.jvm.hotspot.tools.jcore.ClassWriter cw
35: .line 1756
aload 13 /* cw */
invokevirtual sun.jvm.hotspot.tools.jcore.ClassWriter.write:()V
end local 13 // sun.jvm.hotspot.tools.jcore.ClassWriter cw
36: .line 1757
aload 12 /* fos */
ifnull 46
aload 12 /* fos */
invokevirtual java.io.FileOutputStream.close:()V
goto 46
StackMap locals: sun.jvm.hotspot.CommandProcessor$50 sun.jvm.hotspot.CommandProcessor$Tokens int sun.jvm.hotspot.oops.InstanceKlass java.lang.String java.lang.StringBuffer java.lang.String java.io.File int java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream
StackMap stack: java.lang.Throwable
37: astore 10
aload 12 /* fos */
ifnull 38
aload 12 /* fos */
invokevirtual java.io.FileOutputStream.close:()V
end local 12 // java.io.FileOutputStream fos
StackMap locals:
StackMap stack:
38: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
39: astore 11
aload 10
ifnonnull 40
aload 11
astore 10
goto 41
StackMap locals:
StackMap stack:
40: aload 10
aload 11
if_acmpeq 41
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
41: aload 10
athrow
end local 9 // java.io.File dir
end local 8 // int index
42: .line 1758
StackMap locals: sun.jvm.hotspot.CommandProcessor$50 sun.jvm.hotspot.CommandProcessor$Tokens int sun.jvm.hotspot.oops.InstanceKlass java.lang.String java.lang.StringBuffer java.lang.String java.io.File
StackMap stack: java.lang.Exception
astore 8 /* e */
start local 8 // java.lang.Exception e
43: .line 1759
aload 0 /* this */
getfield sun.jvm.hotspot.CommandProcessor$50.this$0:Lsun/jvm/hotspot/CommandProcessor;
getfield sun.jvm.hotspot.CommandProcessor.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8 /* e */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
44: .line 1760
aload 0 /* this */
getfield sun.jvm.hotspot.CommandProcessor$50.this$0:Lsun/jvm/hotspot/CommandProcessor;
getfield sun.jvm.hotspot.CommandProcessor.verboseExceptions:Z
ifeq 46
45: .line 1761
aload 8 /* e */
aload 0 /* this */
getfield sun.jvm.hotspot.CommandProcessor$50.this$0:Lsun/jvm/hotspot/CommandProcessor;
getfield sun.jvm.hotspot.CommandProcessor.err:Ljava/io/PrintStream;
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
end local 8 // java.lang.Exception e
46: .line 1764
StackMap locals:
StackMap stack:
return
end local 7 // java.io.File file
end local 6 // java.lang.String fileName
end local 5 // java.lang.StringBuffer buf
end local 4 // java.lang.String classname
end local 3 // sun.jvm.hotspot.oops.InstanceKlass ik
end local 2 // int tokenCount
end local 1 // sun.jvm.hotspot.CommandProcessor$Tokens t
end local 0 // sun.jvm.hotspot.CommandProcessor$50 this
LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lsun/jvm/hotspot/CommandProcessor$50;
0 47 1 t Lsun/jvm/hotspot/CommandProcessor$Tokens;
1 47 2 tokenCount I
5 47 3 ik Lsun/jvm/hotspot/oops/InstanceKlass;
6 47 4 classname Ljava/lang/String;
8 15 5 vm Lsun/jvm/hotspot/runtime/VM;
9 15 6 addr Lsun/jvm/hotspot/debugger/Address;
10 15 7 metadata Lsun/jvm/hotspot/oops/Metadata;
20 47 5 buf Ljava/lang/StringBuffer;
28 47 6 fileName Ljava/lang/String;
29 47 7 file Ljava/io/File;
30 42 8 index I
31 42 9 dir Ljava/io/File;
34 38 12 fos Ljava/io/FileOutputStream;
35 36 13 cw Lsun/jvm/hotspot/tools/jcore/ClassWriter;
43 46 8 e Ljava/lang/Exception;
Exception table:
from to target type
34 36 37 any
33 39 39 any
29 42 42 Class java.lang.Exception
MethodParameters:
Name Flags
t
}
SourceFile: "CommandProcessor.java"
EnclosingMethod: sun.jvm.hotspot.CommandProcessor
NestHost: sun.jvm.hotspot.CommandProcessor
InnerClasses:
sun.jvm.hotspot.CommandProcessor$50
abstract Command = sun.jvm.hotspot.CommandProcessor$Command of sun.jvm.hotspot.CommandProcessor
Tokens = sun.jvm.hotspot.CommandProcessor$Tokens of sun.jvm.hotspot.CommandProcessor