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