[aarch64-port-dev ] AArch64 needs fences when changing thread state.
Andrew Haley
aph at redhat.com
Wed Oct 1 18:17:02 UTC 2014
I noticed this. If PPC needs it, we need it too.
Andrew.
# HG changeset patch
# User aph
# Date 1412182026 14400
# Wed Oct 01 12:47:06 2014 -0400
# Node ID a451588d3506f985bd2e83748c33331d8d6cb391
# Parent 95c8ad3592470f3e77cc032fb716c580944fccc1
AArch64 needs fences when changing thread state.
diff -r 95c8ad359247 -r a451588d3506 src/share/vm/runtime/thread.hpp
--- a/src/share/vm/runtime/thread.hpp Wed Oct 01 12:44:00 2014 -0400
+++ b/src/share/vm/runtime/thread.hpp Wed Oct 01 12:47:06 2014 -0400
@@ -1006,7 +1006,7 @@
address last_Java_pc(void) { return _anchor.last_Java_pc(); }
// Safepoint support
-#ifndef PPC64
+#if (! (defined(PPC64) || defined(AARCH64)))
JavaThreadState thread_state() const { return _thread_state; }
void set_thread_state(JavaThreadState s) { _thread_state = s; }
#else
diff -r 95c8ad359247 -r a451588d3506 src/share/vm/runtime/thread.inline.hpp
--- a/src/share/vm/runtime/thread.inline.hpp Wed Oct 01 12:44:00 2014 -0400
+++ b/src/share/vm/runtime/thread.inline.hpp Wed Oct 01 12:47:06 2014 -0400
@@ -122,7 +122,7 @@
set_has_async_exception();
}
-#ifdef PPC64
+#if (defined(PPC64) || defined(AARCH64))
inline JavaThreadState JavaThread::thread_state() const {
return (JavaThreadState) OrderAccess::load_acquire((volatile jint*)&_thread_state);
}
More information about the aarch64-port-dev
mailing list