diff --git a/src/hotspot/share/oops/accessBackend.inline.hpp b/src/hotspot/share/oops/accessBackend.inline.hpp index 02540c3..51ad1b5 100644 --- a/src/hotspot/share/oops/accessBackend.inline.hpp +++ b/src/hotspot/share/oops/accessBackend.inline.hpp @@ -118,8 +118,12 @@ inline T RawAccessBarrier::oop_atomic_xchg_at(T new_value, oop base, template template -inline bool RawAccessBarrier::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) { - return arraycopy(src_obj, src_offset_in_bytes, src_raw, dst_obj, dst_offset_in_bytes, dst_raw, length); +inline bool RawAccessBarrier::oop_arraycopy(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw, + arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw, + size_t length) { + return arraycopy(src_obj, src_offset_in_bytes, src_raw, + dst_obj, dst_offset_in_bytes, dst_raw, + length); } template @@ -247,17 +251,19 @@ public: template static inline typename EnableIf< HasDecorator::value>::type - 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) { + arraycopy(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw, + arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw, + size_t length) { src_raw = arrayOopDesc::obj_offset_to_raw(src_obj, src_offset_in_bytes, src_raw); dst_raw = arrayOopDesc::obj_offset_to_raw(dst_obj, dst_offset_in_bytes, dst_raw); // We do not check for ARRAYCOPY_ATOMIC for oops, because they are unconditionally always atomic. if (HasDecorator::value) { - AccessInternal::arraycopy_arrayof_conjoint_oops(const_cast(src_raw), dst_raw, length); + AccessInternal::arraycopy_arrayof_conjoint_oops(src_raw, dst_raw, length); } else { typedef typename HeapOopType::type OopType; - AccessInternal::arraycopy_conjoint_oops(reinterpret_cast(const_cast(src_raw)), + AccessInternal::arraycopy_conjoint_oops(reinterpret_cast(src_raw), reinterpret_cast(dst_raw), length); } } @@ -291,7 +297,9 @@ public: template static inline typename EnableIf< !HasDecorator::value>::type - arraycopy(arrayOop src_obj, size_t src_offset_in_bytes, const void* src_raw, arrayOop dst_obj, size_t dst_offset_in_bytes, void* dst_raw, size_t length) { + arraycopy(arrayOop src_obj, size_t src_offset_in_bytes, const void* src_raw, + arrayOop dst_obj, size_t dst_offset_in_bytes, void* dst_raw, + size_t length) { src_raw = arrayOopDesc::obj_offset_to_raw(src_obj, src_offset_in_bytes, src_raw); dst_raw = arrayOopDesc::obj_offset_to_raw(dst_obj, dst_offset_in_bytes, dst_raw); @@ -306,8 +314,12 @@ public: template template -inline bool RawAccessBarrier::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) { - RawAccessBarrierArrayCopy::arraycopy(src_obj, src_offset_in_bytes, src_raw, dst_obj, dst_offset_in_bytes, dst_raw, length); +inline bool RawAccessBarrier::arraycopy(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw, + arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw, + size_t length) { + RawAccessBarrierArrayCopy::arraycopy(src_obj, src_offset_in_bytes, src_raw, + dst_obj, dst_offset_in_bytes, dst_raw, + length); return true; }