< prev index next >

src/share/vm/runtime/atomic.hpp

Print this page
rev 12906 : [mq]: gc_interface

@@ -69,12 +69,18 @@
   // 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 >