diff -r a9becfeecd1b -r 3f3c97187f82 src/share/vm/runtime/thread.hpp --- a/src/share/vm/runtime/thread.hpp Wed Jan 22 17:42:23 2014 -0800 +++ b/src/share/vm/runtime/thread.hpp Fri Jan 24 10:23:34 2014 +0100 @@ -1033,17 +1033,21 @@ // Last frame anchor routines - JavaFrameAnchor* frame_anchor(void) { return &_anchor; } + JavaFrameAnchor* frame_anchor(void) { return &_anchor; } // last_Java_sp - bool has_last_Java_frame() const { return _anchor.has_last_Java_frame(); } - intptr_t* last_Java_sp() const { return _anchor.last_Java_sp(); } + bool has_last_Java_frame() const { return _anchor.has_last_Java_frame(); } + intptr_t* last_Java_sp() const { return _anchor.last_Java_sp(); } // last_Java_pc - address last_Java_pc(void) { return _anchor.last_Java_pc(); } + address last_Java_pc(void) { return _anchor.last_Java_pc(); } // Safepoint support +#ifndef PPC64 + JavaThreadState thread_state() const { return _thread_state; } + void set_thread_state(JavaThreadState s) { _thread_state = s; } +#else // Use membars when accessing volatile _thread_state. See // Threads::create_vm() for size checks. JavaThreadState thread_state() const { @@ -1052,7 +1056,8 @@ void set_thread_state(JavaThreadState s) { OrderAccess::release_store((volatile jint*)&_thread_state, (jint)s); } - ThreadSafepointState *safepoint_state() const { return _safepoint_state; } +#endif + ThreadSafepointState *safepoint_state() const { return _safepoint_state; } void set_safepoint_state(ThreadSafepointState *state) { _safepoint_state = state; } bool is_at_poll_safepoint() { return _safepoint_state->is_at_poll_safepoint(); }