--- old/src/share/vm/runtime/atomic.hpp 2017-04-25 16:45:44.615172768 +0200 +++ new/src/share/vm/runtime/atomic.hpp 2017-04-25 16:45:44.463172773 +0200 @@ -71,8 +71,14 @@ 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 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: // add-value-to-dest