src/hotspot/os_cpu/linux_arm/thread_linux_arm.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/hotspot/os_cpu/linux_arm/thread_linux_arm.cpp	Mon Sep 17 10:31:03 2018
--- new/src/hotspot/os_cpu/linux_arm/thread_linux_arm.cpp	Mon Sep 17 10:31:02 2018

*** 30,50 **** --- 30,45 ---- #include "memory/metaspaceShared.hpp" #include "runtime/frame.inline.hpp" frame JavaThread::pd_last_frame() { assert(has_last_Java_frame(), "must have last_Java_sp() when suspended"); #ifdef AARCH64 assert (_anchor.last_Java_pc() != NULL, "pc should be stored"); return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc()); #else if (_anchor.last_Java_pc() != NULL) { return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp(), _anchor.last_Java_pc()); } else { // This will pick up pc from sp return frame(_anchor.last_Java_sp(), _anchor.last_Java_fp()); } #endif // AARCH64 } void JavaThread::cache_global_variables() { BarrierSet* bs = BarrierSet::barrier_set();
*** 82,92 **** --- 77,87 ---- JavaThread* jt = (JavaThread *)this; // If we have a last_Java_frame, then we should use it even if // isInJava == true. It should be more reliable than ucontext info. - if (jt->has_last_Java_frame() AARCH64_ONLY(&& jt->last_Java_pc() != NULL)) { *fr_addr = jt->pd_last_frame(); return true; } // Could be in a code section that plays with the stack, like

src/hotspot/os_cpu/linux_arm/thread_linux_arm.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File