public class sun.jvm.hotspot.asm.Disassembler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.asm.Disassembler
super_class: java.lang.Object
{
private static java.lang.String options;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static long decode_function;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
protected long startPc;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected byte[] code;
descriptor: [B
flags: (0x0004) ACC_PROTECTED
private sun.jvm.hotspot.code.CodeBlob blob;
descriptor: Lsun/jvm/hotspot/code/CodeBlob;
flags: (0x0002) ACC_PRIVATE
private sun.jvm.hotspot.code.NMethod nmethod;
descriptor: Lsun/jvm/hotspot/code/NMethod;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc ""
putstatic sun.jvm.hotspot.asm.Disassembler.options:Ljava/lang/String;
1: return
LocalVariableTable:
Start End Slot Name Signature
public static void decode(sun.jvm.hotspot.asm.InstructionVisitor, sun.jvm.hotspot.code.CodeBlob);
descriptor: (Lsun/jvm/hotspot/asm/InstructionVisitor;Lsun/jvm/hotspot/code/CodeBlob;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual sun.jvm.hotspot.code.CodeBlob.codeBegin:()Lsun/jvm/hotspot/debugger/Address;
aload 1
invokevirtual sun.jvm.hotspot.code.CodeBlob.codeEnd:()Lsun/jvm/hotspot/debugger/Address;
invokestatic sun.jvm.hotspot.asm.Disassembler.decode:(Lsun/jvm/hotspot/asm/InstructionVisitor;Lsun/jvm/hotspot/code/CodeBlob;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 visitor Lsun/jvm/hotspot/asm/InstructionVisitor;
0 2 1 blob Lsun/jvm/hotspot/code/CodeBlob;
MethodParameters:
Name Flags
visitor
blob
public static void decode(sun.jvm.hotspot.asm.InstructionVisitor, sun.jvm.hotspot.code.CodeBlob, sun.jvm.hotspot.debugger.Address, sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/asm/InstructionVisitor;Lsun/jvm/hotspot/code/CodeBlob;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
aload 2
invokeinterface sun.jvm.hotspot.debugger.Address.minus:(Lsun/jvm/hotspot/debugger/Address;)J
l2i
istore 4
start local 4 1: aload 2
invokestatic sun.jvm.hotspot.runtime.VM.getAddressValue:(Lsun/jvm/hotspot/debugger/Address;)J
lstore 5
start local 5 2: iload 4
newarray 8
astore 7
start local 7 3: iconst_0
istore 8
start local 8 4: goto 7
5: StackMap locals: sun.jvm.hotspot.asm.InstructionVisitor sun.jvm.hotspot.code.CodeBlob sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address int long byte[] int
StackMap stack:
aload 7
iload 8
aload 2
iload 8
i2l
invokeinterface sun.jvm.hotspot.debugger.Address.getJByteAt:(J)B
bastore
6: iinc 8 1
StackMap locals:
StackMap stack:
7: iload 8
aload 7
arraylength
if_icmplt 5
end local 8 8: new sun.jvm.hotspot.asm.Disassembler
dup
lload 5
aload 7
invokespecial sun.jvm.hotspot.asm.Disassembler.<init>:(J[B)V
astore 8
start local 8 9: aload 8
aload 0
invokevirtual sun.jvm.hotspot.asm.Disassembler.decode:(Lsun/jvm/hotspot/asm/InstructionVisitor;)V
10: return
end local 8 end local 7 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 11 0 visitor Lsun/jvm/hotspot/asm/InstructionVisitor;
0 11 1 blob Lsun/jvm/hotspot/code/CodeBlob;
0 11 2 begin Lsun/jvm/hotspot/debugger/Address;
0 11 3 end Lsun/jvm/hotspot/debugger/Address;
1 11 4 codeSize I
2 11 5 startPc J
3 11 7 code [B
4 8 8 i I
9 11 8 dis Lsun/jvm/hotspot/asm/Disassembler;
MethodParameters:
Name Flags
visitor
blob
begin
end
private void <init>(long, byte[]);
descriptor: (J[B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
lload 1
putfield sun.jvm.hotspot.asm.Disassembler.startPc:J
2: aload 0
aload 3
putfield sun.jvm.hotspot.asm.Disassembler.code:[B
3: getstatic sun.jvm.hotspot.asm.Disassembler.decode_function:J
lconst_0
lcmp
ifne 51
4: new java.lang.StringBuilder
dup
ldc "java.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 4
start local 4 5: ldc "file.separator"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 6: ldc "os.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 7: ldc "hsdis"
astore 7
start local 7 8: ldc "os.arch"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 8
start local 8 9: aload 6
ldc "Windows"
iconst_0
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
iconst_m1
if_icmpeq 20
10: aload 8
ldc "x86"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-i386"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
12: goto 17
StackMap locals: sun.jvm.hotspot.asm.Disassembler long byte[] java.lang.StringBuilder java.lang.String java.lang.String java.lang.String java.lang.String
StackMap stack:
13: aload 8
ldc "amd64"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
14: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-amd64"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
15: goto 17
16: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 7
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;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
17: StackMap locals:
StackMap stack:
aload 4
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 "bin"
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;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
18: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".dll"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
19: goto 50
StackMap locals:
StackMap stack:
20: aload 6
ldc "SunOS"
iconst_0
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
iconst_m1
if_icmpeq 32
21: aload 8
ldc "x86"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
aload 8
ldc "i386"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
22: StackMap locals:
StackMap stack:
aload 4
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 "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "i386"
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;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-i386.so"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
24: goto 50
StackMap locals:
StackMap stack:
25: aload 8
ldc "amd64"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
26: aload 4
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 "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "amd64"
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;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
27: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-amd64.so"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
28: goto 50
29: StackMap locals:
StackMap stack:
aload 4
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 "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
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;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
30: new java.lang.StringBuilder
dup
aload 7
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;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".so"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
31: goto 50
StackMap locals:
StackMap stack:
32: aload 6
ldc "Linux"
iconst_0
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
iconst_m1
if_icmpeq 44
33: aload 8
ldc "x86"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 34
aload 8
ldc "i386"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 37
34: StackMap locals:
StackMap stack:
aload 4
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 "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "i386"
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;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
35: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-i386.so"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
36: goto 50
StackMap locals:
StackMap stack:
37: aload 8
ldc "amd64"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 38
aload 8
ldc "x86_64"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 41
38: StackMap locals:
StackMap stack:
aload 4
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 "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "amd64"
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;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
39: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-amd64.so"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
40: goto 50
41: StackMap locals:
StackMap stack:
aload 4
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 "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
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;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
42: new java.lang.StringBuilder
dup
aload 7
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;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".so"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
43: goto 50
StackMap locals:
StackMap stack:
44: aload 6
ldc "Mac OS X"
iconst_0
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
iconst_m1
if_icmpeq 48
45: aload 4
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 "lib"
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;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
46: new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "-amd64.dylib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
47: goto 50
48: StackMap locals:
StackMap stack:
aload 4
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 "lib"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "arch"
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;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
49: new java.lang.StringBuilder
dup
aload 7
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;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".so"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
50: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
invokestatic sun.jvm.hotspot.asm.Disassembler.load_library:(Ljava/lang/String;Ljava/lang/String;)J
putstatic sun.jvm.hotspot.asm.Disassembler.decode_function:J
end local 8 end local 7 end local 6 end local 5 end local 4 51: StackMap locals: sun.jvm.hotspot.asm.Disassembler long byte[]
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lsun/jvm/hotspot/asm/Disassembler;
0 52 1 startPc J
0 52 3 code [B
5 51 4 path Ljava/lang/StringBuilder;
6 51 5 sep Ljava/lang/String;
7 51 6 os Ljava/lang/String;
8 51 7 libname Ljava/lang/String;
9 51 8 arch Ljava/lang/String;
MethodParameters:
Name Flags
startPc
code
private static native long load_library(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)J
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
installed_jrepath
hsdis_library_name
private native void decode(sun.jvm.hotspot.asm.InstructionVisitor, long, byte[], java.lang.String, long);
descriptor: (Lsun/jvm/hotspot/asm/InstructionVisitor;J[BLjava/lang/String;J)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
visitor
pc
code
options
decode_function
private void decode(sun.jvm.hotspot.asm.InstructionVisitor);
descriptor: (Lsun/jvm/hotspot/asm/InstructionVisitor;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface sun.jvm.hotspot.asm.InstructionVisitor.prologue:()V
1: aload 0
aload 1
aload 0
getfield sun.jvm.hotspot.asm.Disassembler.startPc:J
aload 0
getfield sun.jvm.hotspot.asm.Disassembler.code:[B
getstatic sun.jvm.hotspot.asm.Disassembler.options:Ljava/lang/String;
getstatic sun.jvm.hotspot.asm.Disassembler.decode_function:J
invokevirtual sun.jvm.hotspot.asm.Disassembler.decode:(Lsun/jvm/hotspot/asm/InstructionVisitor;J[BLjava/lang/String;J)V
2: aload 1
invokeinterface sun.jvm.hotspot.asm.InstructionVisitor.epilogue:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/asm/Disassembler;
0 4 1 visitor Lsun/jvm/hotspot/asm/InstructionVisitor;
MethodParameters:
Name Flags
visitor
private boolean match(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.String.length:()I
istore 3
start local 3 3: iload 3
aload 1
invokevirtual java.lang.String.length:()I
if_icmpne 4
iconst_1
ireturn
4: StackMap locals: int
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 5: iload 4
bipush 32
if_icmpeq 6
iload 4
bipush 47
if_icmpeq 6
iload 4
bipush 61
if_icmpeq 6
iconst_0
ireturn
StackMap locals: int
StackMap stack:
6: iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/jvm/hotspot/asm/Disassembler;
0 7 1 event Ljava/lang/String;
0 7 2 tag Ljava/lang/String;
3 7 3 taglen I
5 7 4 delim C
MethodParameters:
Name Flags
event
tag
private long handleEvent(sun.jvm.hotspot.asm.InstructionVisitor, java.lang.String, long);
descriptor: (Lsun/jvm/hotspot/asm/InstructionVisitor;Ljava/lang/String;J)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
ldc "insn"
invokevirtual sun.jvm.hotspot.asm.Disassembler.match:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 6
1: aload 1
lload 3
invokeinterface sun.jvm.hotspot.asm.InstructionVisitor.beginInstruction:(J)V
2: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 5
start local 5 4: aload 5
invokevirtual java.lang.Throwable.printStackTrace:()V
end local 5 5: goto 17
StackMap locals:
StackMap stack:
6: aload 0
aload 2
ldc "/insn"
invokevirtual sun.jvm.hotspot.asm.Disassembler.match:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 12
7: aload 1
lload 3
invokeinterface sun.jvm.hotspot.asm.InstructionVisitor.endInstruction:(J)V
8: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 5
start local 5 10: aload 5
invokevirtual java.lang.Throwable.printStackTrace:()V
end local 5 11: goto 17
StackMap locals:
StackMap stack:
12: aload 0
aload 2
ldc "addr"
invokevirtual sun.jvm.hotspot.asm.Disassembler.match:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 16
13: lload 3
lconst_0
lcmp
ifeq 15
14: aload 1
lload 3
invokeinterface sun.jvm.hotspot.asm.InstructionVisitor.printAddress:(J)V
15: StackMap locals:
StackMap stack:
lload 3
lreturn
16: StackMap locals:
StackMap stack:
aload 0
aload 2
ldc "mach"
invokevirtual sun.jvm.hotspot.asm.Disassembler.match:(Ljava/lang/String;Ljava/lang/String;)Z
pop
17: StackMap locals:
StackMap stack:
lconst_0
lreturn
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/asm/Disassembler;
0 18 1 visitor Lsun/jvm/hotspot/asm/InstructionVisitor;
0 18 2 event Ljava/lang/String;
0 18 3 arg J
4 5 5 e Ljava/lang/Throwable;
10 11 5 e Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
7 8 9 Class java.lang.Throwable
MethodParameters:
Name Flags
visitor
event
arg
private void rawPrint(sun.jvm.hotspot.asm.InstructionVisitor, java.lang.String);
descriptor: (Lsun/jvm/hotspot/asm/InstructionVisitor;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokeinterface sun.jvm.hotspot.asm.InstructionVisitor.print:(Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/jvm/hotspot/asm/Disassembler;
0 2 1 visitor Lsun/jvm/hotspot/asm/InstructionVisitor;
0 2 2 s Ljava/lang/String;
MethodParameters:
Name Flags
visitor
s
}
SourceFile: "Disassembler.java"