< prev index next >

src/hotspot/share/oops/access.hpp

Print this page

        

*** 169,181 **** verify_primitive_decorators<atomic_cmpxchg_mo_decorators>(); return AccessInternal::atomic_cmpxchg_at<decorators>(new_value, base, offset, compare_value); } template <typename T> ! static inline T atomic_xchg_at(T new_value, oop base, ptrdiff_t offset) { verify_primitive_decorators<atomic_xchg_mo_decorators>(); ! return AccessInternal::atomic_xchg_at<decorators>(new_value, base, offset); } // Oop heap accesses static inline AccessInternal::OopLoadAtProxy<decorators> oop_load_at(oop base, ptrdiff_t offset) { verify_heap_oop_decorators<load_mo_decorators>(); --- 169,181 ---- verify_primitive_decorators<atomic_cmpxchg_mo_decorators>(); return AccessInternal::atomic_cmpxchg_at<decorators>(new_value, base, offset, compare_value); } template <typename T> ! 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>(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>();
*** 198,212 **** OopType compare_oop_value = compare_value; return AccessInternal::atomic_cmpxchg_at<decorators | INTERNAL_VALUE_IS_OOP>(new_oop_value, base, offset, compare_oop_value); } template <typename T> ! static inline T oop_atomic_xchg_at(T new_value, oop base, ptrdiff_t offset) { 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); } // Clone an object from src to dst static inline void clone(oop src, oop dst, size_t size) { verify_decorators<IN_HEAP>(); --- 198,212 ---- OopType compare_oop_value = compare_value; return AccessInternal::atomic_cmpxchg_at<decorators | INTERNAL_VALUE_IS_OOP>(new_oop_value, base, offset, compare_oop_value); } template <typename T> ! 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>(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>();
*** 231,243 **** verify_primitive_decorators<atomic_cmpxchg_mo_decorators>(); return AccessInternal::atomic_cmpxchg<decorators>(new_value, addr, compare_value); } template <typename P, typename T> ! static inline T atomic_xchg(T new_value, P* addr) { verify_primitive_decorators<atomic_xchg_mo_decorators>(); ! return AccessInternal::atomic_xchg<decorators>(new_value, addr); } // Oop accesses template <typename P> static inline AccessInternal::OopLoadProxy<P, decorators> oop_load(P* addr) { --- 231,243 ---- verify_primitive_decorators<atomic_cmpxchg_mo_decorators>(); return AccessInternal::atomic_cmpxchg<decorators>(new_value, addr, compare_value); } template <typename P, typename T> ! static inline T atomic_xchg(P* addr, T new_value) { verify_primitive_decorators<atomic_xchg_mo_decorators>(); ! return AccessInternal::atomic_xchg<decorators>(addr, new_value); } // Oop accesses template <typename P> static inline AccessInternal::OopLoadProxy<P, decorators> oop_load(P* addr) {
*** 261,275 **** OopType compare_oop_value = compare_value; return AccessInternal::atomic_cmpxchg<decorators | INTERNAL_VALUE_IS_OOP>(new_oop_value, addr, compare_oop_value); } template <typename P, typename T> ! static inline T oop_atomic_xchg(T new_value, P* addr) { 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); } static oop resolve(oop obj) { verify_decorators<DECORATORS_NONE>(); return AccessInternal::resolve<decorators>(obj); --- 261,275 ---- OopType compare_oop_value = compare_value; return AccessInternal::atomic_cmpxchg<decorators | INTERNAL_VALUE_IS_OOP>(new_oop_value, addr, compare_oop_value); } template <typename P, typename T> ! 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>(addr, new_oop_value); } static oop resolve(oop obj) { verify_decorators<DECORATORS_NONE>(); return AccessInternal::resolve<decorators>(obj);
< prev index next >