--- old/src/hotspot/share/oops/access.hpp 2019-11-21 11:58:11.592017942 +0100 +++ new/src/hotspot/share/oops/access.hpp 2019-11-21 11:58:11.096009566 +0100 @@ -165,15 +165,15 @@ } template - static inline T atomic_cmpxchg_at(T new_value, oop base, ptrdiff_t offset, T compare_value) { + static inline T atomic_cmpxchg_at(oop base, ptrdiff_t offset, T compare_value, T new_value) { verify_primitive_decorators(); - return AccessInternal::atomic_cmpxchg_at(new_value, base, offset, compare_value); + return AccessInternal::atomic_cmpxchg_at(base, offset, compare_value, new_value); } template - static inline T atomic_xchg_at(T new_value, oop base, ptrdiff_t offset) { + static inline T atomic_xchg_at(oop base, ptrdiff_t offset, T new_value) { verify_primitive_decorators(); - return AccessInternal::atomic_xchg_at(new_value, base, offset); + return AccessInternal::atomic_xchg_at(base, offset, new_value); } // Oop heap accesses @@ -191,20 +191,20 @@ } template - static inline T oop_atomic_cmpxchg_at(T new_value, oop base, ptrdiff_t offset, T compare_value) { + static inline T oop_atomic_cmpxchg_at(oop base, ptrdiff_t offset, T compare_value, T new_value) { verify_heap_oop_decorators(); typedef typename AccessInternal::OopOrNarrowOop::type OopType; OopType new_oop_value = new_value; OopType compare_oop_value = compare_value; - return AccessInternal::atomic_cmpxchg_at(new_oop_value, base, offset, compare_oop_value); + return AccessInternal::atomic_cmpxchg_at(base, offset, compare_oop_value, new_oop_value); } template - static inline T oop_atomic_xchg_at(T new_value, oop base, ptrdiff_t offset) { + static inline T oop_atomic_xchg_at(oop base, ptrdiff_t offset, T new_value) { verify_heap_oop_decorators(); typedef typename AccessInternal::OopOrNarrowOop::type OopType; OopType new_oop_value = new_value; - return AccessInternal::atomic_xchg_at(new_oop_value, base, offset); + return AccessInternal::atomic_xchg_at(base, offset, new_oop_value); } // Clone an object from src to dst @@ -227,15 +227,15 @@ } template - static inline T atomic_cmpxchg(T new_value, P* addr, T compare_value) { + static inline T atomic_cmpxchg(P* addr, T compare_value, T new_value) { verify_primitive_decorators(); - return AccessInternal::atomic_cmpxchg(new_value, addr, compare_value); + return AccessInternal::atomic_cmpxchg(addr, compare_value, new_value); } template - static inline T atomic_xchg(T new_value, P* addr) { + static inline T atomic_xchg(P* addr, T new_value) { verify_primitive_decorators(); - return AccessInternal::atomic_xchg(new_value, addr); + return AccessInternal::atomic_xchg(addr, new_value); } // Oop accesses @@ -254,20 +254,20 @@ } template - static inline T oop_atomic_cmpxchg(T new_value, P* addr, T compare_value) { + static inline T oop_atomic_cmpxchg(P* addr, T compare_value, T new_value) { verify_oop_decorators(); typedef typename AccessInternal::OopOrNarrowOop::type OopType; OopType new_oop_value = new_value; OopType compare_oop_value = compare_value; - return AccessInternal::atomic_cmpxchg(new_oop_value, addr, compare_oop_value); + return AccessInternal::atomic_cmpxchg(addr, compare_oop_value, new_oop_value); } template - static inline T oop_atomic_xchg(T new_value, P* addr) { + static inline T oop_atomic_xchg(P* addr, T new_value) { verify_oop_decorators(); typedef typename AccessInternal::OopOrNarrowOop::type OopType; OopType new_oop_value = new_value; - return AccessInternal::atomic_xchg(new_oop_value, addr); + return AccessInternal::atomic_xchg(addr, new_oop_value); } static oop resolve(oop obj) {