2796N/A * or visit www.oracle.com if you need additional information or have any
2796N/A#include "runtime/orderAccess.hpp"
2796N/A#include "vm_version_zero.hpp"
2796N/A#ifdef __NO_LWSYNC__
2796N/Ainline jbyte OrderAccess::load_acquire(volatile jbyte* p) { jbyte data = *p; acquire(); return data; }
2796N/Ainline jshort OrderAccess::load_acquire(volatile jshort* p) { jshort data = *p; acquire(); return data; }
2796N/Ainline jint OrderAccess::load_acquire(volatile jint* p) { jint data = *p; acquire(); return data; }
2796N/Ainline jubyte OrderAccess::load_acquire(volatile jubyte* p) { jubyte data = *p; acquire(); return data; }
2796N/Ainline jushort OrderAccess::load_acquire(volatile jushort* p) { jushort data = *p; acquire(); return data; }
2796N/Ainline juint OrderAccess::load_acquire(volatile juint* p) { juint data = *p; acquire(); return data; }
2796N/Ainline jfloat OrderAccess::load_acquire(volatile jfloat* p) { jfloat data = *p; acquire(); return data; }
2796N/Ainline void OrderAccess::release_store(volatile jushort* p, jushort v) { release(); *p = v; }
2796N/Ainline void OrderAccess::release_store_ptr(volatile intptr_t* p, intptr_t v) { release(); *p = v; }
2796N/Ainline void OrderAccess::store_fence(jlong* p, jlong v) { os::atomic_copy64(&v, p); fence(); }
2796N/Ainline void OrderAccess::store_fence(julong* p, julong v) { os::atomic_copy64(&v, p); fence(); }
2796N/Ainline void OrderAccess::store_fence(jdouble* p, jdouble v) { os::atomic_copy64(&v, p); fence(); }
2796N/Ainline void OrderAccess::release_store_fence(volatile jbyte* p, jbyte v) { release_store(p, v); fence(); }
2796N/Ainline void OrderAccess::release_store_fence(volatile jshort* p, jshort v) { release_store(p, v); fence(); }
2796N/Ainline void OrderAccess::release_store_fence(volatile jint* p, jint v) { release_store(p, v); fence(); }
2796N/Ainline void OrderAccess::release_store_fence(volatile jlong* p, jlong v) { release_store(p, v); fence(); }
2796N/Ainline void OrderAccess::release_store_fence(volatile jubyte* p, jubyte v) { release_store(p, v); fence(); }
2796N/Ainline void OrderAccess::release_store_fence(volatile jushort* p, jushort v) { release_store(p, v); fence(); }
2796N/Ainline void OrderAccess::release_store_fence(volatile juint* p, juint v) { release_store(p, v); fence(); }
2796N/Ainline void OrderAccess::release_store_fence(volatile julong* p, julong v) { release_store(p, v); fence(); }
2796N/Ainline void OrderAccess::release_store_fence(volatile jfloat* p, jfloat v) { release_store(p, v); fence(); }
2796N/Ainline void OrderAccess::release_store_fence(volatile jdouble* p, jdouble v) { release_store(p, v); fence(); }
2796N/Ainline void OrderAccess::release_store_ptr_fence(volatile intptr_t* p, intptr_t v) { release_store_ptr(p, v); fence(); }
2796N/Ainline void OrderAccess::release_store_ptr_fence(volatile void* p, void* v) { release_store_ptr(p, v); fence(); }