< prev index next >

src/hotspot/share/oops/access.hpp

Print this page

        

*** 163,181 **** 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) { 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>(); --- 163,181 ---- verify_primitive_decorators<store_mo_decorators>(); AccessInternal::store_at<decorators>(base, offset, value); } template <typename T> ! 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>(base, offset, compare_value, new_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>();
*** 189,212 **** 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) { 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); } 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>(); --- 189,212 ---- 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(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>(base, offset, compare_oop_value, new_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>();
*** 225,243 **** 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) { 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) { --- 225,243 ---- verify_primitive_decorators<store_mo_decorators>(); AccessInternal::store<decorators>(addr, value); } template <typename P, typename T> ! 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>(addr, compare_value, new_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) {
*** 252,275 **** 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) { 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); } 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); --- 252,275 ---- 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(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>(addr, compare_oop_value, new_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 >