src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/windows/x86/WindowsX86CFrame.java
changeset 51518 2e98c7737d8f
parent 47216 71c04702a3d5
equal deleted inserted replaced
51517:edcf0d527658 51518:2e98c7737d8f
    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