< prev index next >
src/hotspot/share/oops/access.hpp
Print this page
*** 129,144 ****
static const DecoratorSet atomic_xchg_mo_decorators = MO_SEQ_CST;
static const DecoratorSet atomic_cmpxchg_mo_decorators = MO_RELAXED | MO_SEQ_CST;
protected:
template <typename T>
! static inline bool oop_arraycopy(arrayOop src_obj, size_t src_offset_in_bytes, const T* src_raw,
arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw,
size_t length) {
verify_decorators<ARRAYCOPY_DECORATOR_MASK | IN_HEAP |
AS_DECORATOR_MASK | IS_ARRAY | IS_DEST_UNINITIALIZED>();
! return AccessInternal::arraycopy<decorators | INTERNAL_VALUE_IS_OOP>(src_obj, src_offset_in_bytes, src_raw,
dst_obj, dst_offset_in_bytes, dst_raw,
length);
}
template <typename T>
--- 129,144 ----
static const DecoratorSet atomic_xchg_mo_decorators = MO_SEQ_CST;
static const DecoratorSet atomic_cmpxchg_mo_decorators = MO_RELAXED | MO_SEQ_CST;
protected:
template <typename T>
! static inline void oop_arraycopy(arrayOop src_obj, size_t src_offset_in_bytes, const T* src_raw,
arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw,
size_t length) {
verify_decorators<ARRAYCOPY_DECORATOR_MASK | IN_HEAP |
AS_DECORATOR_MASK | IS_ARRAY | IS_DEST_UNINITIALIZED>();
! AccessInternal::arraycopy<decorators | INTERNAL_VALUE_IS_OOP>(src_obj, src_offset_in_bytes, src_raw,
dst_obj, dst_offset_in_bytes, dst_raw,
length);
}
template <typename T>
*** 327,347 ****
AccessT::arraycopy(NULL, 0, src,
dst_obj, dst_offset_in_bytes, reinterpret_cast<T*>(NULL),
length);
}
! static inline bool oop_arraycopy(arrayOop src_obj, size_t src_offset_in_bytes,
arrayOop dst_obj, size_t dst_offset_in_bytes,
size_t length) {
! return AccessT::oop_arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const HeapWord*>(NULL),
dst_obj, dst_offset_in_bytes, reinterpret_cast<HeapWord*>(NULL),
length);
}
template <typename T>
! static inline bool oop_arraycopy_raw(T* src, T* dst, size_t length) {
! return AccessT::oop_arraycopy(NULL, 0, src,
NULL, 0, dst,
length);
}
};
--- 327,347 ----
AccessT::arraycopy(NULL, 0, src,
dst_obj, dst_offset_in_bytes, reinterpret_cast<T*>(NULL),
length);
}
! static inline void oop_arraycopy(arrayOop src_obj, size_t src_offset_in_bytes,
arrayOop dst_obj, size_t dst_offset_in_bytes,
size_t length) {
! AccessT::oop_arraycopy(src_obj, src_offset_in_bytes, reinterpret_cast<const HeapWord*>(NULL),
dst_obj, dst_offset_in_bytes, reinterpret_cast<HeapWord*>(NULL),
length);
}
template <typename T>
! static inline void oop_arraycopy_raw(T* src, T* dst, size_t length) {
! AccessT::oop_arraycopy(NULL, 0, src,
NULL, 0, dst,
length);
}
};
< prev index next >