--- old/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp 2018-03-20 18:39:46.431024688 -0400 +++ new/src/hotspot/os_cpu/linux_ppc/thread_linux_ppc.cpp 2018-03-20 18:39:45.678954895 -0400 @@ -24,9 +24,23 @@ */ #include "precompiled.hpp" -#include "runtime/frame.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();