< prev index next >
src/hotspot/share/oops/access.hpp
Print this page
@@ -163,19 +163,19 @@
verify_primitive_decorators<store_mo_decorators>();
AccessInternal::store_at<decorators>(base, offset, value);
}
template <typename T>
- 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<atomic_cmpxchg_mo_decorators>();
- return AccessInternal::atomic_cmpxchg_at<decorators>(new_value, base, offset, compare_value);
+ return AccessInternal::atomic_cmpxchg_at<decorators>(base, offset, compare_value, new_value);
}
template <typename T>
- 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<atomic_xchg_mo_decorators>();
- return AccessInternal::atomic_xchg_at<decorators>(new_value, base, offset);
+ return AccessInternal::atomic_xchg_at<decorators>(base, offset, new_value);
}
// Oop heap accesses
static inline AccessInternal::OopLoadAtProxy<decorators> oop_load_at(oop base, ptrdiff_t offset) {
verify_heap_oop_decorators<load_mo_decorators>();
@@ -189,24 +189,24 @@
OopType oop_value = value;
AccessInternal::store_at<decorators | INTERNAL_VALUE_IS_OOP>(base, offset, oop_value);
}
template <typename T>
- 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<atomic_cmpxchg_mo_decorators>();
typedef typename AccessInternal::OopOrNarrowOop<T>::type OopType;
OopType new_oop_value = new_value;
OopType compare_oop_value = compare_value;
- return AccessInternal::atomic_cmpxchg_at<decorators | INTERNAL_VALUE_IS_OOP>(new_oop_value, base, offset, compare_oop_value);
+ return AccessInternal::atomic_cmpxchg_at<decorators | INTERNAL_VALUE_IS_OOP>(base, offset, compare_oop_value, new_oop_value);
}
template <typename T>
- 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<atomic_xchg_mo_decorators>();
typedef typename AccessInternal::OopOrNarrowOop<T>::type OopType;
OopType new_oop_value = new_value;
- return AccessInternal::atomic_xchg_at<decorators | INTERNAL_VALUE_IS_OOP>(new_oop_value, base, offset);
+ return AccessInternal::atomic_xchg_at<decorators | INTERNAL_VALUE_IS_OOP>(base, offset, new_oop_value);
}
// Clone an object from src to dst
static inline void clone(oop src, oop dst, size_t size) {
verify_decorators<IN_HEAP>();
@@ -225,19 +225,19 @@
verify_primitive_decorators<store_mo_decorators>();
AccessInternal::store<decorators>(addr, value);
}
template <typename P, typename T>
- 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<atomic_cmpxchg_mo_decorators>();
- return AccessInternal::atomic_cmpxchg<decorators>(new_value, addr, compare_value);
+ return AccessInternal::atomic_cmpxchg<decorators>(addr, compare_value, new_value);
}
template <typename P, typename T>
- static inline T atomic_xchg(T new_value, P* addr) {
+ static inline T atomic_xchg(P* addr, T new_value) {
verify_primitive_decorators<atomic_xchg_mo_decorators>();
- return AccessInternal::atomic_xchg<decorators>(new_value, addr);
+ return AccessInternal::atomic_xchg<decorators>(addr, new_value);
}
// Oop accesses
template <typename P>
static inline AccessInternal::OopLoadProxy<P, decorators> oop_load(P* addr) {
@@ -252,24 +252,24 @@
OopType oop_value = value;
AccessInternal::store<decorators | INTERNAL_VALUE_IS_OOP>(addr, oop_value);
}
template <typename P, typename T>
- 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<atomic_cmpxchg_mo_decorators>();
typedef typename AccessInternal::OopOrNarrowOop<T>::type OopType;
OopType new_oop_value = new_value;
OopType compare_oop_value = compare_value;
- return AccessInternal::atomic_cmpxchg<decorators | INTERNAL_VALUE_IS_OOP>(new_oop_value, addr, compare_oop_value);
+ return AccessInternal::atomic_cmpxchg<decorators | INTERNAL_VALUE_IS_OOP>(addr, compare_oop_value, new_oop_value);
}
template <typename P, typename T>
- 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<atomic_xchg_mo_decorators>();
typedef typename AccessInternal::OopOrNarrowOop<T>::type OopType;
OopType new_oop_value = new_value;
- return AccessInternal::atomic_xchg<decorators | INTERNAL_VALUE_IS_OOP>(new_oop_value, addr);
+ return AccessInternal::atomic_xchg<decorators | INTERNAL_VALUE_IS_OOP>(addr, new_oop_value);
}
static oop resolve(oop obj) {
verify_decorators<DECORATORS_NONE>();
return AccessInternal::resolve<decorators>(obj);
< prev index next >