src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windows/x86/WindowsX86CFrame.java
equal
deleted
inserted
replaced
44 this.dbg = dbg; |
44 this.dbg = dbg; |
45 } |
45 } |
46 |
46 |
47 public CFrame sender(ThreadProxy thread) { |
47 public CFrame sender(ThreadProxy thread) { |
48 X86ThreadContext context = (X86ThreadContext) thread.getContext(); |
48 X86ThreadContext context = (X86ThreadContext) thread.getContext(); |
49 Address esp = context.getRegisterAsAddress(X86ThreadContext.ESP); |
49 /* |
|
50 * Native code fills in the stack pointer register value using index |
|
51 * X86ThreadContext.SP. |
|
52 * See file sawindbg.cpp macro REG_INDEX(x). |
|
53 * |
|
54 * Be sure to use SP, or UESP which is aliased to SP in Java code, |
|
55 * for the frame pointer validity check. |
|
56 */ |
|
57 Address esp = context.getRegisterAsAddress(X86ThreadContext.SP); |
50 |
58 |
51 if ( (ebp == null) || ebp.lessThan(esp) ) { |
59 if ( (ebp == null) || ebp.lessThan(esp) ) { |
52 return null; |
60 return null; |
53 } |
61 } |
54 |
62 |