8050165: linux-sparcv9: NMT detail causes assert((intptr_t*)younger_sp[FP->sp_offset_in_saved_window()] == (intptr_t*)((intptr_t)sp - STACK_BIAS)) failed: younger_sp must be valid
Summary: Fixed native memory tracking stack walking
Reviewed-by: coleenp, mikael
--- a/hotspot/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp Fri Jul 18 11:22:49 2014 -0400
+++ b/hotspot/src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp Fri Jul 18 11:14:20 2014 -0700
@@ -142,12 +142,10 @@
}
frame os::get_sender_for_C_frame(frame* fr) {
- return frame(fr->sender_sp(), fr->link(), fr->sender_pc());
+ return frame(fr->sender_sp(), frame::unpatchable, fr->sender_pc());
}
frame os::current_frame() {
- fprintf(stderr, "current_frame()");
-
intptr_t* sp = StubRoutines::Sparc::flush_callers_register_windows_func()();
frame myframe(sp, frame::unpatchable,
CAST_FROM_FN_PTR(address, os::current_frame));