diff -r d9160a3c97c1 -r 7f462e8383f6 src/hotspot/share/runtime/thread.inline.hpp --- a/src/hotspot/share/runtime/thread.inline.hpp Mon Jul 02 09:38:20 2018 +0200 +++ b/src/hotspot/share/runtime/thread.inline.hpp Mon Jul 02 11:46:15 2018 +0200 @@ -170,8 +170,13 @@ // The release make sure this store is done after storing the handshake // operation or global state +inline void JavaThread::set_polling_page_release(void* poll_value) { + OrderAccess::release_store(polling_page_addr(), poll_value); +} + +// Caller is responsible for using a memory barrier if needed. inline void JavaThread::set_polling_page(void* poll_value) { - OrderAccess::release_store(polling_page_addr(), poll_value); + *polling_page_addr() = poll_value; } // The aqcquire make sure reading of polling page is done before