< prev index next >

src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp

Print this page

        

*** 22,34 **** * questions. * */ #include "precompiled.hpp" ! #include "runtime/frame.hpp" #include "runtime/thread.hpp" // Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Linux/PPC. bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) { Unimplemented(); return false; } --- 22,48 ---- * questions. * */ #include "precompiled.hpp" ! #include "runtime/frame.inline.hpp" #include "runtime/thread.hpp" + frame JavaThread::pd_last_frame() { + assert(has_last_Java_frame(), "must have last_Java_sp() when suspended"); + + intptr_t* sp = last_Java_sp(); + address pc = _anchor.last_Java_pc(); + + // Last_Java_pc ist not set, if we come here from compiled code. + if (pc == NULL) { + pc = (address) *(sp + 2); + } + + return frame(sp, pc); + } + // Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Linux/PPC. bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) { Unimplemented(); return false; }
< prev index next >