< prev index next >
src/os_cpu/windows_x86/vm/os_windows_x86.cpp
Print this page
*** 494,504 ****
--- 494,512 ----
intptr_t* _get_previous_fp() {
intptr_t **frameptr;
__asm {
mov frameptr, ebp
};
+ // ebp (frameptr) is for this frame (_get_previous_fp). We want the ebp for the
+ // caller of os::current_frame*(), so go up two frames. However, for
+ // optimized builds, _get_previous_fp() will be inlined, so only go
+ // up 1 frame in that case.
+ #ifdef _NMT_NOINLINE_
+ return **(intptr_t***)frameptr;
+ #else
return *frameptr;
+ #endif
}
#endif // !AMD64
frame os::current_frame() {
< prev index next >