62 } |
63 } |
63 |
64 |
64 inline jbyte OrderAccess::load_acquire(volatile jbyte* p) { return *p; } |
65 inline jbyte OrderAccess::load_acquire(volatile jbyte* p) { return *p; } |
65 inline jshort OrderAccess::load_acquire(volatile jshort* p) { return *p; } |
66 inline jshort OrderAccess::load_acquire(volatile jshort* p) { return *p; } |
66 inline jint OrderAccess::load_acquire(volatile jint* p) { return *p; } |
67 inline jint OrderAccess::load_acquire(volatile jint* p) { return *p; } |
67 inline jlong OrderAccess::load_acquire(volatile jlong* p) { return *p; } |
68 inline jlong OrderAccess::load_acquire(volatile jlong* p) { return Atomic::load(p); } |
68 inline jubyte OrderAccess::load_acquire(volatile jubyte* p) { return *p; } |
69 inline jubyte OrderAccess::load_acquire(volatile jubyte* p) { return *p; } |
69 inline jushort OrderAccess::load_acquire(volatile jushort* p) { return *p; } |
70 inline jushort OrderAccess::load_acquire(volatile jushort* p) { return *p; } |
70 inline juint OrderAccess::load_acquire(volatile juint* p) { return *p; } |
71 inline juint OrderAccess::load_acquire(volatile juint* p) { return *p; } |
71 inline julong OrderAccess::load_acquire(volatile julong* p) { return *p; } |
72 inline julong OrderAccess::load_acquire(volatile julong* p) { return Atomic::load((volatile jlong*)p); } |
72 inline jfloat OrderAccess::load_acquire(volatile jfloat* p) { return *p; } |
73 inline jfloat OrderAccess::load_acquire(volatile jfloat* p) { return *p; } |
73 inline jdouble OrderAccess::load_acquire(volatile jdouble* p) { return *p; } |
74 inline jdouble OrderAccess::load_acquire(volatile jdouble* p) { return *p; } |
74 |
75 |
75 inline intptr_t OrderAccess::load_ptr_acquire(volatile intptr_t* p) { return *p; } |
76 inline intptr_t OrderAccess::load_ptr_acquire(volatile intptr_t* p) { return *p; } |
76 inline void* OrderAccess::load_ptr_acquire(volatile void* p) { return *(void* volatile *)p; } |
77 inline void* OrderAccess::load_ptr_acquire(volatile void* p) { return *(void* volatile *)p; } |
77 inline void* OrderAccess::load_ptr_acquire(const volatile void* p) { return *(void* const volatile *)p; } |
78 inline void* OrderAccess::load_ptr_acquire(const volatile void* p) { return *(void* const volatile *)p; } |
78 |
79 |
79 inline void OrderAccess::release_store(volatile jbyte* p, jbyte v) { *p = v; } |
80 inline void OrderAccess::release_store(volatile jbyte* p, jbyte v) { *p = v; } |
80 inline void OrderAccess::release_store(volatile jshort* p, jshort v) { *p = v; } |
81 inline void OrderAccess::release_store(volatile jshort* p, jshort v) { *p = v; } |
81 inline void OrderAccess::release_store(volatile jint* p, jint v) { *p = v; } |
82 inline void OrderAccess::release_store(volatile jint* p, jint v) { *p = v; } |
82 inline void OrderAccess::release_store(volatile jlong* p, jlong v) { *p = v; } |
83 inline void OrderAccess::release_store(volatile jlong* p, jlong v) { Atomic::store(v, p); } |
83 inline void OrderAccess::release_store(volatile jubyte* p, jubyte v) { *p = v; } |
84 inline void OrderAccess::release_store(volatile jubyte* p, jubyte v) { *p = v; } |
84 inline void OrderAccess::release_store(volatile jushort* p, jushort v) { *p = v; } |
85 inline void OrderAccess::release_store(volatile jushort* p, jushort v) { *p = v; } |
85 inline void OrderAccess::release_store(volatile juint* p, juint v) { *p = v; } |
86 inline void OrderAccess::release_store(volatile juint* p, juint v) { *p = v; } |
86 inline void OrderAccess::release_store(volatile julong* p, julong v) { *p = v; } |
87 inline void OrderAccess::release_store(volatile julong* p, julong v) { Atomic::store((jlong)v, (volatile jlong*)p); } |
87 inline void OrderAccess::release_store(volatile jfloat* p, jfloat v) { *p = v; } |
88 inline void OrderAccess::release_store(volatile jfloat* p, jfloat v) { *p = v; } |
88 inline void OrderAccess::release_store(volatile jdouble* p, jdouble v) { *p = v; } |
89 inline void OrderAccess::release_store(volatile jdouble* p, jdouble v) { *p = v; } |
89 |
90 |
90 inline void OrderAccess::release_store_ptr(volatile intptr_t* p, intptr_t v) { *p = v; } |
91 inline void OrderAccess::release_store_ptr(volatile intptr_t* p, intptr_t v) { *p = v; } |
91 inline void OrderAccess::release_store_ptr(volatile void* p, void* v) { *(void* volatile *)p = v; } |
92 inline void OrderAccess::release_store_ptr(volatile void* p, void* v) { *(void* volatile *)p = v; } |