103 Copy::disjoint_words_atomic(reinterpret_cast<HeapWord*>(src), |
103 Copy::disjoint_words_atomic(reinterpret_cast<HeapWord*>(src), |
104 reinterpret_cast<HeapWord*>(dst), length); |
104 reinterpret_cast<HeapWord*>(dst), length); |
105 } |
105 } |
106 |
106 |
107 template<> |
107 template<> |
|
108 void arraycopy_conjoint<jboolean>(jboolean* src, jboolean* dst, size_t length) { |
|
109 Copy::conjoint_jbytes(reinterpret_cast<jbyte*>(src), reinterpret_cast<jbyte*>(dst), length); |
|
110 } |
|
111 |
|
112 template<> |
108 void arraycopy_conjoint<jbyte>(jbyte* src, jbyte* dst, size_t length) { |
113 void arraycopy_conjoint<jbyte>(jbyte* src, jbyte* dst, size_t length) { |
109 Copy::conjoint_jbytes(src, dst, length); |
114 Copy::conjoint_jbytes(src, dst, length); |
110 } |
115 } |
111 |
116 |
112 template<> |
117 template<> |
|
118 void arraycopy_conjoint<jchar>(jchar* src, jchar* dst, size_t length) { |
|
119 Copy::conjoint_jshorts_atomic(reinterpret_cast<jshort*>(src), reinterpret_cast<jshort*>(dst), length); |
|
120 } |
|
121 |
|
122 template<> |
113 void arraycopy_conjoint<jshort>(jshort* src, jshort* dst, size_t length) { |
123 void arraycopy_conjoint<jshort>(jshort* src, jshort* dst, size_t length) { |
114 Copy::conjoint_jshorts_atomic(src, dst, length); |
124 Copy::conjoint_jshorts_atomic(src, dst, length); |
115 } |
125 } |
116 |
126 |
117 template<> |
127 template<> |
118 void arraycopy_conjoint<jint>(jint* src, jint* dst, size_t length) { |
128 void arraycopy_conjoint<jint>(jint* src, jint* dst, size_t length) { |
119 Copy::conjoint_jints_atomic(src, dst, length); |
129 Copy::conjoint_jints_atomic(src, dst, length); |
120 } |
130 } |
121 |
131 |
122 template<> |
132 template<> |
|
133 void arraycopy_conjoint<jfloat>(jfloat* src, jfloat* dst, size_t length) { |
|
134 Copy::conjoint_jints_atomic(reinterpret_cast<jint*>(src), reinterpret_cast<jint*>(dst), length); |
|
135 } |
|
136 |
|
137 template<> |
123 void arraycopy_conjoint<jlong>(jlong* src, jlong* dst, size_t length) { |
138 void arraycopy_conjoint<jlong>(jlong* src, jlong* dst, size_t length) { |
124 Copy::conjoint_jlongs_atomic(src, dst, length); |
139 Copy::conjoint_jlongs_atomic(src, dst, length); |
|
140 } |
|
141 |
|
142 template<> |
|
143 void arraycopy_conjoint<jdouble>(jdouble* src, jdouble* dst, size_t length) { |
|
144 Copy::conjoint_jlongs_atomic(reinterpret_cast<jlong*>(src), reinterpret_cast<jlong*>(dst), length); |
125 } |
145 } |
126 |
146 |
127 template<> |
147 template<> |
128 void arraycopy_arrayof_conjoint<jbyte>(jbyte* src, jbyte* dst, size_t length) { |
148 void arraycopy_arrayof_conjoint<jbyte>(jbyte* src, jbyte* dst, size_t length) { |
129 Copy::arrayof_conjoint_jbytes(reinterpret_cast<HeapWord*>(src), |
149 Copy::arrayof_conjoint_jbytes(reinterpret_cast<HeapWord*>(src), |