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

src/hotspot/os_cpu/linux_arm/thread_linux_arm.cpp

Print this page

        

*** 30,50 **** #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(); --- 30,45 ----
*** 82,92 **** 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 --- 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()) { *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