[aarch64-port-dev ] Unwind native AArch64 frames.
Andrew Haley
aph at redhat.com
Thu Aug 21 16:01:18 UTC 2014
We currently crash when printing a HotSpot error log because the unwind
code for native frames is wrong. Fixed thusly.
Andrew.
comparing with ssh://hg.openjdk.java.net/aarch64-port/jdk9/hotspot
searching for changes
remote: X11 forwarding request failed on channel 0
changeset: 6875:16078783ccb8
user: aph
date: Thu Aug 21 11:56:52 2014 -0400
summary: Unwind native AArch64 frames.
diff -r 46470beedaae -r 16078783ccb8 src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp
--- a/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp Wed Aug 20 11:35:57 2014 -0400
+++ b/src/os_cpu/linux_aarch64/vm/os_linux_aarch64.cpp Thu Aug 21 11:56:52 2014 -0400
@@ -173,10 +173,14 @@
return frame(sp, fp, epc.pc());
}
-// By default, gcc always save frame pointer (%ebp/%rbp) on stack. It may get
-// turned off by -fomit-frame-pointer,
+// By default, gcc always saves frame pointer rfp on this stack. This
+// may get turned off by -fomit-frame-pointer.
frame os::get_sender_for_C_frame(frame* fr) {
+#ifdef BUILTIN_SIM
return frame(fr->sender_sp(), fr->link(), fr->sender_pc());
+#else
+ return frame(fr->link(), fr->link(), fr->sender_pc());
+#endif
}
intptr_t* _get_previous_fp() {
More information about the aarch64-port-dev
mailing list