< prev index next >

src/hotspot/share/oops/accessBackend.cpp

Print this page
rev 49674 : 8198285: More consistent Access API for arraycopy

*** 103,132 **** --- 103,152 ---- Copy::disjoint_words_atomic(reinterpret_cast<HeapWord*>(src), reinterpret_cast<HeapWord*>(dst), length); } template<> + void arraycopy_conjoint<jboolean>(jboolean* src, jboolean* dst, size_t length) { + Copy::conjoint_jbytes(reinterpret_cast<jbyte*>(src), reinterpret_cast<jbyte*>(dst), length); + } + + template<> void arraycopy_conjoint<jbyte>(jbyte* src, jbyte* dst, size_t length) { Copy::conjoint_jbytes(src, dst, length); } template<> + void arraycopy_conjoint<jchar>(jchar* src, jchar* dst, size_t length) { + Copy::conjoint_jshorts_atomic(reinterpret_cast<jshort*>(src), reinterpret_cast<jshort*>(dst), length); + } + + template<> void arraycopy_conjoint<jshort>(jshort* src, jshort* dst, size_t length) { Copy::conjoint_jshorts_atomic(src, dst, length); } template<> void arraycopy_conjoint<jint>(jint* src, jint* dst, size_t length) { Copy::conjoint_jints_atomic(src, dst, length); } template<> + void arraycopy_conjoint<jfloat>(jfloat* src, jfloat* dst, size_t length) { + Copy::conjoint_jints_atomic(reinterpret_cast<jint*>(src), reinterpret_cast<jint*>(dst), length); + } + + template<> void arraycopy_conjoint<jlong>(jlong* src, jlong* dst, size_t length) { Copy::conjoint_jlongs_atomic(src, dst, length); } template<> + void arraycopy_conjoint<jdouble>(jdouble* src, jdouble* dst, size_t length) { + Copy::conjoint_jlongs_atomic(reinterpret_cast<jlong*>(src), reinterpret_cast<jlong*>(dst), length); + } + + template<> void arraycopy_arrayof_conjoint<jbyte>(jbyte* src, jbyte* dst, size_t length) { Copy::arrayof_conjoint_jbytes(reinterpret_cast<HeapWord*>(src), reinterpret_cast<HeapWord*>(dst), length); }
< prev index next >