diff -r 9c0821840cf2 -r 733f189ad1f7 hotspot/src/share/vm/runtime/atomic.hpp --- a/hotspot/src/share/vm/runtime/atomic.hpp Tue Nov 18 12:33:47 2014 +0000 +++ b/hotspot/src/share/vm/runtime/atomic.hpp Tue Oct 21 15:07:25 2014 +0200 @@ -28,6 +28,9 @@ #include "memory/allocation.hpp" class Atomic : AllStatic { + private: + static jbyte cmpxchg_general(jbyte exchange_value, volatile jbyte* dest, jbyte compare_value); + public: // Atomic operations on jlong types are not available on all 32-bit // platforms. If atomic ops on jlongs are defined here they must only @@ -104,7 +107,7 @@ // *dest with exchange_value if the comparison succeeded. Returns prior // value of *dest. cmpxchg*() provide: // compare-and-exchange - static jbyte cmpxchg (jbyte exchange_value, volatile jbyte* dest, jbyte compare_value); + inline static jbyte cmpxchg (jbyte exchange_value, volatile jbyte* dest, jbyte compare_value); inline static jint cmpxchg (jint exchange_value, volatile jint* dest, jint compare_value); // See comment above about using jlong atomics on 32-bit platforms inline static jlong cmpxchg (jlong exchange_value, volatile jlong* dest, jlong compare_value);