public class sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess
super_class: java.lang.Object
{
private sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext context;
descriptor: Lsun/jvm/hotspot/debugger/amd64/AMD64ThreadContext;
flags: (0x0002) ACC_PRIVATE
private sun.jvm.hotspot.runtime.JavaThread thread;
descriptor: Lsun/jvm/hotspot/runtime/JavaThread;
flags: (0x0002) ACC_PRIVATE
private sun.jvm.hotspot.debugger.Address spFound;
descriptor: Lsun/jvm/hotspot/debugger/Address;
flags: (0x0002) ACC_PRIVATE
private sun.jvm.hotspot.debugger.Address fpFound;
descriptor: Lsun/jvm/hotspot/debugger/Address;
flags: (0x0002) ACC_PRIVATE
private sun.jvm.hotspot.debugger.Address pcFound;
descriptor: Lsun/jvm/hotspot/debugger/Address;
flags: (0x0002) ACC_PRIVATE
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "sun.jvm.hotspot.runtime.amd64.AMD64Frame.DEBUG"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext, sun.jvm.hotspot.runtime.JavaThread);
descriptor: (Lsun/jvm/hotspot/debugger/amd64/AMD64ThreadContext;Lsun/jvm/hotspot/runtime/JavaThread;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.context:Lsun/jvm/hotspot/debugger/amd64/AMD64ThreadContext;
2: aload 0
aload 2
putfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.thread:Lsun/jvm/hotspot/runtime/JavaThread;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/runtime/amd64/AMD64CurrentFrameGuess;
0 4 1 context Lsun/jvm/hotspot/debugger/amd64/AMD64ThreadContext;
0 4 2 thread Lsun/jvm/hotspot/runtime/JavaThread;
MethodParameters:
Name Flags
context
thread
private boolean validateInterpreterFrame(sun.jvm.hotspot.debugger.Address, sun.jvm.hotspot.debugger.Address, sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
astore 4
start local 4 1: new sun.jvm.hotspot.runtime.x86.X86Frame
dup
aload 1
aload 2
aload 3
invokespecial sun.jvm.hotspot.runtime.x86.X86Frame.<init>:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
astore 5
start local 5 2: aconst_null
astore 6
start local 6 3: aload 5
invokevirtual sun.jvm.hotspot.runtime.x86.X86Frame.getInterpreterFrameMethod:()Lsun/jvm/hotspot/oops/Method;
astore 6
4: goto 8
StackMap locals: sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.runtime.VM sun.jvm.hotspot.runtime.x86.X86Frame sun.jvm.hotspot.oops.Method
StackMap stack: java.lang.RuntimeException
5: pop
6: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 8
7: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "CurrentFrameGuess: frame->method is invalid"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
aload 6
ifnull 14
aload 5
invokevirtual sun.jvm.hotspot.runtime.x86.X86Frame.getInterpreterFrameBCP:()Lsun/jvm/hotspot/debugger/Address;
ifnull 14
9: aload 6
invokevirtual sun.jvm.hotspot.oops.Method.getConstMethod:()Lsun/jvm/hotspot/oops/ConstMethod;
aload 5
invokevirtual sun.jvm.hotspot.runtime.x86.X86Frame.getInterpreterFrameBCP:()Lsun/jvm/hotspot/debugger/Address;
invokevirtual sun.jvm.hotspot.oops.ConstMethod.isAddressInMethod:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 12
10: aload 0
aload 1
aload 2
aload 3
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.setValues:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
11: iconst_1
ireturn
12: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 14
13: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "CurrentFrameGuess: frame->bcp is invalid"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.context:Lsun/jvm/hotspot/debugger/amd64/AMD64ThreadContext;
bipush 14
invokevirtual sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext.getRegisterAsAddress:(I)Lsun/jvm/hotspot/debugger/Address;
astore 7
start local 7 15: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
invokevirtual sun.jvm.hotspot.runtime.VM.getCodeCache:()Lsun/jvm/hotspot/code/CodeCache;
astore 8
start local 8 16: aload 7
ifnull 17
aload 8
aload 7
invokevirtual sun.jvm.hotspot.code.CodeCache.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifne 26
17: StackMap locals: sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.code.CodeCache
StackMap stack:
aload 1
lconst_0
invokeinterface sun.jvm.hotspot.debugger.Address.getAddressAt:(J)Lsun/jvm/hotspot/debugger/Address;
astore 7
18: aload 7
ifnull 19
aload 8
aload 7
invokevirtual sun.jvm.hotspot.code.CodeCache.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifne 23
19: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 21
20: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "CurrentFrameGuess: Cannot find valid returnAddress"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
21: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.setValues:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
22: iconst_0
ireturn
23: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 28
24: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "CurrentFrameGuess: returnAddress found on stack: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
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
25: goto 28
26: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 28
27: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "CurrentFrameGuess: returnAddress found in RAX: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
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
28: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 29: aload 5
invokevirtual sun.jvm.hotspot.runtime.x86.X86Frame.getSenderPC:()Lsun/jvm/hotspot/debugger/Address;
astore 9
30: goto 34
StackMap locals: sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.runtime.VM sun.jvm.hotspot.runtime.x86.X86Frame sun.jvm.hotspot.oops.Method sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.code.CodeCache sun.jvm.hotspot.debugger.Address
StackMap stack: sun.jvm.hotspot.debugger.AddressException
31: pop
32: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 34
33: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "CurrentFrameGuess: senderPC is invalid"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
34: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 36
35: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "CurrentFrameGuess: returnAddress2: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
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
36: StackMap locals:
StackMap stack:
aload 7
aload 9
invokeinterface sun.jvm.hotspot.debugger.Address.equals:(Ljava/lang/Object;)Z
ifeq 49
37: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 39
38: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "CurrentFrameGuess: frame pushed but not initialized."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.jvm.hotspot.runtime.x86.X86Frame.getSenderSP:()Lsun/jvm/hotspot/debugger/Address;
astore 1
40: aload 5
invokevirtual sun.jvm.hotspot.runtime.x86.X86Frame.getLink:()Lsun/jvm/hotspot/debugger/Address;
astore 2
41: aload 0
aload 1
aload 2
aload 7
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.setValues:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
42: aload 4
invokevirtual sun.jvm.hotspot.runtime.VM.getInterpreter:()Lsun/jvm/hotspot/interpreter/Interpreter;
aload 7
invokevirtual sun.jvm.hotspot.interpreter.Interpreter.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 46
43: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 45
44: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "CurrentFrameGuess: Interpreted: using previous frame."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
45: StackMap locals:
StackMap stack:
iconst_1
ireturn
46: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 48
47: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "CurrentFrameGuess: Not Interpreted: using previous frame."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
48: StackMap locals:
StackMap stack:
iconst_0
ireturn
49: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 7
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.setValues:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
50: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 52
51: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "CurrentFrameGuess: Frame not yet pushed. Previous frame not interpreted."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
52: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 53 0 this Lsun/jvm/hotspot/runtime/amd64/AMD64CurrentFrameGuess;
0 53 1 sp Lsun/jvm/hotspot/debugger/Address;
0 53 2 fp Lsun/jvm/hotspot/debugger/Address;
0 53 3 pc Lsun/jvm/hotspot/debugger/Address;
1 53 4 vm Lsun/jvm/hotspot/runtime/VM;
2 53 5 f Lsun/jvm/hotspot/runtime/x86/X86Frame;
3 53 6 method Lsun/jvm/hotspot/oops/Method;
15 53 7 returnAddress Lsun/jvm/hotspot/debugger/Address;
16 53 8 c Lsun/jvm/hotspot/code/CodeCache;
29 53 9 returnAddress2 Lsun/jvm/hotspot/debugger/Address;
Exception table:
from to target type
3 4 5 Class sun.jvm.hotspot.types.WrongTypeException
3 4 5 Class sun.jvm.hotspot.debugger.AddressException
3 4 5 Class java.lang.NullPointerException
29 30 31 Class sun.jvm.hotspot.debugger.AddressException
MethodParameters:
Name Flags
sp
fp
pc
public boolean run(long);
descriptor: (J)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.context:Lsun/jvm/hotspot/debugger/amd64/AMD64ThreadContext;
bipush 20
invokevirtual sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext.getRegisterAsAddress:(I)Lsun/jvm/hotspot/debugger/Address;
astore 3
start local 3 1: aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.context:Lsun/jvm/hotspot/debugger/amd64/AMD64ThreadContext;
bipush 17
invokevirtual sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext.getRegisterAsAddress:(I)Lsun/jvm/hotspot/debugger/Address;
astore 4
start local 4 2: aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.context:Lsun/jvm/hotspot/debugger/amd64/AMD64ThreadContext;
bipush 10
invokevirtual sun.jvm.hotspot.debugger.amd64.AMD64ThreadContext.getRegisterAsAddress:(I)Lsun/jvm/hotspot/debugger/Address;
astore 5
start local 5 3: aload 3
ifnonnull 5
4: aload 0
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.checkLastJavaSP:()Z
ireturn
5: StackMap locals: sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address
StackMap stack:
aload 3
lload 1
invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
pop
6: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
astore 6
start local 6 7: aload 0
aconst_null
aconst_null
aconst_null
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.setValues:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
8: aload 6
aload 4
invokevirtual sun.jvm.hotspot.runtime.VM.isJavaPCDbg:(Lsun/jvm/hotspot/debugger/Address;)Z
ifne 10
9: aload 0
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.checkLastJavaSP:()Z
ireturn
10: StackMap locals: sun.jvm.hotspot.runtime.VM
StackMap stack:
aload 6
invokevirtual sun.jvm.hotspot.runtime.VM.isClientCompiler:()Z
ifeq 13
11: aload 0
aload 3
aload 5
aload 4
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.setValues:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
12: iconst_1
ireturn
13: StackMap locals:
StackMap stack:
aload 6
invokevirtual sun.jvm.hotspot.runtime.VM.getInterpreter:()Lsun/jvm/hotspot/interpreter/Interpreter;
aload 4
invokevirtual sun.jvm.hotspot.interpreter.Interpreter.contains:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 28
14: aload 0
aload 3
aload 5
aload 4
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.validateInterpreterFrame:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 20
15: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 19
16: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "CurrentFrameGuess: choosing interpreter frame: sp = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
17: aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.spFound:Lsun/jvm/hotspot/debugger/Address;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", fp = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.fpFound:Lsun/jvm/hotspot/debugger/Address;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", pc = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.pcFound:Lsun/jvm/hotspot/debugger/Address;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
19: StackMap locals:
StackMap stack:
iconst_1
ireturn
20: StackMap locals:
StackMap stack:
aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.spFound:Lsun/jvm/hotspot/debugger/Address;
astore 3
21: aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.fpFound:Lsun/jvm/hotspot/debugger/Address;
astore 5
22: aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.pcFound:Lsun/jvm/hotspot/debugger/Address;
astore 4
23: aload 0
aconst_null
aconst_null
aconst_null
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.setValues:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
24: aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.pcFound:Lsun/jvm/hotspot/debugger/Address;
ifnonnull 26
25: iconst_0
ireturn
26: StackMap locals:
StackMap stack:
aload 6
aload 4
invokevirtual sun.jvm.hotspot.runtime.VM.isJavaPCDbg:(Lsun/jvm/hotspot/debugger/Address;)Z
ifne 28
27: aload 0
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.checkLastJavaSP:()Z
ireturn
28: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 30
29: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "CurrentFrameGuess: sp = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", pc = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
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
30: StackMap locals:
StackMap stack:
lconst_0
lstore 7
start local 7 31: goto 53
32: StackMap locals: long
StackMap stack:
aload 3
lload 7
invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
astore 9
start local 9 33: new sun.jvm.hotspot.runtime.x86.X86Frame
dup
aload 9
aconst_null
aload 4
invokespecial sun.jvm.hotspot.runtime.x86.X86Frame.<init>:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
astore 10
start local 10 34: aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.thread:Lsun/jvm/hotspot/runtime/JavaThread;
iconst_0
invokevirtual sun.jvm.hotspot.runtime.JavaThread.newRegisterMap:(Z)Lsun/jvm/hotspot/runtime/RegisterMap;
astore 11
start local 11 35: goto 47
36: StackMap locals: sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.runtime.Frame sun.jvm.hotspot.runtime.RegisterMap
StackMap stack:
aload 10
invokevirtual sun.jvm.hotspot.runtime.Frame.isEntryFrame:()Z
ifeq 41
aload 10
invokevirtual sun.jvm.hotspot.runtime.Frame.entryFrameIsFirst:()Z
ifeq 41
37: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 39
38: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "CurrentFrameGuess: Choosing sp = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", pc = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
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
39: StackMap locals:
StackMap stack:
aload 0
aload 9
aconst_null
aload 4
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.setValues:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
40: iconst_1
ireturn
41: StackMap locals:
StackMap stack:
aload 10
astore 12
start local 12 42: aload 10
aload 11
invokevirtual sun.jvm.hotspot.runtime.Frame.sender:(Lsun/jvm/hotspot/runtime/RegisterMap;)Lsun/jvm/hotspot/runtime/Frame;
astore 10
43: aload 10
invokevirtual sun.jvm.hotspot.runtime.Frame.getSP:()Lsun/jvm/hotspot/debugger/Address;
aload 12
invokevirtual sun.jvm.hotspot.runtime.Frame.getSP:()Lsun/jvm/hotspot/debugger/Address;
invokeinterface sun.jvm.hotspot.debugger.Address.lessThanOrEqual:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 47
44: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 52
45: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "CurrentFrameGuess: frame <= oldFrame: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
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
46: goto 52
end local 12 47: StackMap locals:
StackMap stack:
aload 10
ifnonnull 36
end local 11 end local 10 end local 9 48: goto 52
StackMap locals: sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess long sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.runtime.VM long
StackMap stack: java.lang.Exception
49: astore 9
start local 9 50: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 52
51: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "CurrentFrameGuess: Exception "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " at offset "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 7
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 9 52: StackMap locals:
StackMap stack:
lload 7
aload 6
invokevirtual sun.jvm.hotspot.runtime.VM.getAddressSize:()J
ladd
lstore 7
53: StackMap locals:
StackMap stack:
lload 7
lload 1
54: lcmp
iflt 32
end local 7 55: iconst_0
ireturn
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lsun/jvm/hotspot/runtime/amd64/AMD64CurrentFrameGuess;
0 56 1 regionInBytesToSearch J
1 56 3 sp Lsun/jvm/hotspot/debugger/Address;
2 56 4 pc Lsun/jvm/hotspot/debugger/Address;
3 56 5 fp Lsun/jvm/hotspot/debugger/Address;
7 56 6 vm Lsun/jvm/hotspot/runtime/VM;
31 55 7 offset J
33 48 9 curSP Lsun/jvm/hotspot/debugger/Address;
34 48 10 frame Lsun/jvm/hotspot/runtime/Frame;
35 48 11 map Lsun/jvm/hotspot/runtime/RegisterMap;
42 47 12 oldFrame Lsun/jvm/hotspot/runtime/Frame;
50 52 9 e Ljava/lang/Exception;
Exception table:
from to target type
32 40 49 Class java.lang.Exception
41 48 49 Class java.lang.Exception
MethodParameters:
Name Flags
regionInBytesToSearch
private boolean checkLastJavaSP();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 4
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "CurrentFrameGuess: choosing last Java frame: sp = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.thread:Lsun/jvm/hotspot/runtime/JavaThread;
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getLastJavaSP:()Lsun/jvm/hotspot/debugger/Address;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", fp = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.thread:Lsun/jvm/hotspot/runtime/JavaThread;
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getLastJavaFP:()Lsun/jvm/hotspot/debugger/Address;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.thread:Lsun/jvm/hotspot/runtime/JavaThread;
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getLastJavaSP:()Lsun/jvm/hotspot/debugger/Address;
ifnonnull 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.thread:Lsun/jvm/hotspot/runtime/JavaThread;
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getLastJavaSP:()Lsun/jvm/hotspot/debugger/Address;
aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.thread:Lsun/jvm/hotspot/runtime/JavaThread;
invokevirtual sun.jvm.hotspot.runtime.JavaThread.getLastJavaFP:()Lsun/jvm/hotspot/debugger/Address;
aconst_null
invokevirtual sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.setValues:(Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
7: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/jvm/hotspot/runtime/amd64/AMD64CurrentFrameGuess;
public sun.jvm.hotspot.debugger.Address getSP();
descriptor: ()Lsun/jvm/hotspot/debugger/Address;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.spFound:Lsun/jvm/hotspot/debugger/Address;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/runtime/amd64/AMD64CurrentFrameGuess;
public sun.jvm.hotspot.debugger.Address getFP();
descriptor: ()Lsun/jvm/hotspot/debugger/Address;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.fpFound:Lsun/jvm/hotspot/debugger/Address;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/runtime/amd64/AMD64CurrentFrameGuess;
public sun.jvm.hotspot.debugger.Address getPC();
descriptor: ()Lsun/jvm/hotspot/debugger/Address;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.pcFound:Lsun/jvm/hotspot/debugger/Address;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/jvm/hotspot/runtime/amd64/AMD64CurrentFrameGuess;
private void setValues(sun.jvm.hotspot.debugger.Address, sun.jvm.hotspot.debugger.Address, sun.jvm.hotspot.debugger.Address);
descriptor: (Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;Lsun/jvm/hotspot/debugger/Address;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
putfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.spFound:Lsun/jvm/hotspot/debugger/Address;
1: aload 0
aload 2
putfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.fpFound:Lsun/jvm/hotspot/debugger/Address;
2: aload 0
aload 3
putfield sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.pcFound:Lsun/jvm/hotspot/debugger/Address;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/jvm/hotspot/runtime/amd64/AMD64CurrentFrameGuess;
0 4 1 sp Lsun/jvm/hotspot/debugger/Address;
0 4 2 fp Lsun/jvm/hotspot/debugger/Address;
0 4 3 pc Lsun/jvm/hotspot/debugger/Address;
MethodParameters:
Name Flags
sp
fp
pc
}
SourceFile: "AMD64CurrentFrameGuess.java"