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
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 8
4: 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;
ifnull 7
5: 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
6: iconst_1
ireturn
7: StackMap locals: sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address sun.jvm.hotspot.debugger.Address
StackMap stack:
iconst_0
ireturn
8: StackMap locals:
StackMap stack:
aload 3
lload 1
invokeinterface sun.jvm.hotspot.debugger.Address.addOffsetTo:(J)Lsun/jvm/hotspot/debugger/Address;
pop
9: invokestatic sun.jvm.hotspot.runtime.VM.getVM:()Lsun/jvm/hotspot/runtime/VM;
astore 6
start local 6 10: 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
11: aload 6
aload 4
invokevirtual sun.jvm.hotspot.runtime.VM.isJavaPCDbg:(Lsun/jvm/hotspot/debugger/Address;)Z
ifeq 48
12: aload 6
invokevirtual sun.jvm.hotspot.runtime.VM.isClientCompiler:()Z
ifeq 15
13: 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
14: iconst_1
ireturn
15: StackMap locals: sun.jvm.hotspot.runtime.VM
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 22
16: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 20
17: 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
18: aload 3
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 5
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;
19: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
20: StackMap locals:
StackMap stack:
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
21: iconst_1
ireturn
22: StackMap locals:
StackMap stack:
lconst_0
lstore 7
start local 7 23: goto 45
24: 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 25: 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 26: 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 27: goto 39
28: 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 33
aload 10
invokevirtual sun.jvm.hotspot.runtime.Frame.entryFrameIsFirst:()Z
ifeq 33
29: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 31
30: 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
31: 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
32: iconst_1
ireturn
33: StackMap locals:
StackMap stack:
aload 10
astore 12
start local 12 34: aload 10
aload 11
invokevirtual sun.jvm.hotspot.runtime.Frame.sender:(Lsun/jvm/hotspot/runtime/RegisterMap;)Lsun/jvm/hotspot/runtime/Frame;
astore 10
35: 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 39
36: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 44
37: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "AMD64CurrentFrameGuess.run: 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
38: goto 44
end local 12 39: StackMap locals:
StackMap stack:
aload 10
ifnonnull 28
end local 11 end local 10 end local 9 40: goto 44
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
41: astore 9
start local 9 42: getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 44
43: 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 44: StackMap locals:
StackMap stack:
lload 7
aload 6
invokevirtual sun.jvm.hotspot.runtime.VM.getAddressSize:()J
ladd
lstore 7
45: StackMap locals:
StackMap stack:
lload 7
lload 1
46: lcmp
iflt 24
end local 7 47: iconst_0
ireturn
48: StackMap locals:
StackMap stack:
getstatic sun.jvm.hotspot.runtime.amd64.AMD64CurrentFrameGuess.DEBUG:Z
ifeq 52
49: 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
50: 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;
51: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
52: 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 54
53: iconst_0
ireturn
54: 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
55: iconst_1
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;
10 56 6 vm Lsun/jvm/hotspot/runtime/VM;
23 47 7 offset J
25 40 9 curSP Lsun/jvm/hotspot/debugger/Address;
26 40 10 frame Lsun/jvm/hotspot/runtime/Frame;
27 40 11 map Lsun/jvm/hotspot/runtime/RegisterMap;
34 39 12 oldFrame Lsun/jvm/hotspot/runtime/Frame;
42 44 9 e Ljava/lang/Exception;
Exception table:
from to target type
24 32 41 Class java.lang.Exception
33 40 41 Class java.lang.Exception
MethodParameters:
Name Flags
regionInBytesToSearch
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"