< prev index next >
src/share/vm/runtime/atomic.hpp
Print this page
rev 12906 : [mq]: gc_interface
*** 69,80 ****
--- 69,86 ----
// See comment above about using jlong atomics on 32-bit platforms
inline static void store (jlong store_value, volatile jlong* dest);
inline static void store_ptr(intptr_t store_value, volatile intptr_t* dest);
inline static void store_ptr(void* store_value, volatile void* dest);
+
+ inline static jbyte load(volatile jbyte* src) { return *src; }
+ inline static jshort load(volatile jshort* src) { return *src; }
+ inline static jint load(volatile jint* src) { return *src; }
// See comment above about using jlong atomics on 32-bit platforms
inline static jlong load(volatile jlong* src);
+ inline static intptr_t load_ptr(volatile intptr_t* src) { return *src; }
+ inline static void* load_ptr(volatile void* src) { return *(void* volatile*)src; }
// Atomically add to a location. Returns updated value. add*() provide:
// <fence> add-value-to-dest <membar StoreLoad|StoreStore>
inline static jshort add (jshort add_value, volatile jshort* dest);
inline static jint add (jint add_value, volatile jint* dest);
< prev index next >