88
89 void arraycopy_conjoint_oops(oop* src, oop* dst, size_t length) {
90 Copy::conjoint_oops_atomic(src, dst, length);
91 }
92
93 void arraycopy_conjoint_oops(narrowOop* src, narrowOop* dst, size_t length) {
94 Copy::conjoint_oops_atomic(src, dst, length);
95 }
96
97 void arraycopy_disjoint_words(void* src, void* dst, size_t length) {
98 Copy::disjoint_words(reinterpret_cast<HeapWord*>(src),
99 reinterpret_cast<HeapWord*>(dst), length);
100 }
101
102 void arraycopy_disjoint_words_atomic(void* src, void* dst, size_t length) {
103 Copy::disjoint_words_atomic(reinterpret_cast<HeapWord*>(src),
104 reinterpret_cast<HeapWord*>(dst), length);
105 }
106
107 template<>
108 void arraycopy_conjoint<jbyte>(jbyte* src, jbyte* dst, size_t length) {
109 Copy::conjoint_jbytes(src, dst, length);
110 }
111
112 template<>
113 void arraycopy_conjoint<jshort>(jshort* src, jshort* dst, size_t length) {
114 Copy::conjoint_jshorts_atomic(src, dst, length);
115 }
116
117 template<>
118 void arraycopy_conjoint<jint>(jint* src, jint* dst, size_t length) {
119 Copy::conjoint_jints_atomic(src, dst, length);
120 }
121
122 template<>
123 void arraycopy_conjoint<jlong>(jlong* src, jlong* dst, size_t length) {
124 Copy::conjoint_jlongs_atomic(src, dst, length);
125 }
126
127 template<>
128 void arraycopy_arrayof_conjoint<jbyte>(jbyte* src, jbyte* dst, size_t length) {
129 Copy::arrayof_conjoint_jbytes(reinterpret_cast<HeapWord*>(src),
130 reinterpret_cast<HeapWord*>(dst),
131 length);
132 }
133
134 template<>
135 void arraycopy_arrayof_conjoint<jshort>(jshort* src, jshort* dst, size_t length) {
136 Copy::arrayof_conjoint_jshorts(reinterpret_cast<HeapWord*>(src),
137 reinterpret_cast<HeapWord*>(dst),
138 length);
139 }
140
141 template<>
142 void arraycopy_arrayof_conjoint<jint>(jint* src, jint* dst, size_t length) {
143 Copy::arrayof_conjoint_jints(reinterpret_cast<HeapWord*>(src),
144 reinterpret_cast<HeapWord*>(dst),
|
88
89 void arraycopy_conjoint_oops(oop* src, oop* dst, size_t length) {
90 Copy::conjoint_oops_atomic(src, dst, length);
91 }
92
93 void arraycopy_conjoint_oops(narrowOop* src, narrowOop* dst, size_t length) {
94 Copy::conjoint_oops_atomic(src, dst, length);
95 }
96
97 void arraycopy_disjoint_words(void* src, void* dst, size_t length) {
98 Copy::disjoint_words(reinterpret_cast<HeapWord*>(src),
99 reinterpret_cast<HeapWord*>(dst), length);
100 }
101
102 void arraycopy_disjoint_words_atomic(void* src, void* dst, size_t length) {
103 Copy::disjoint_words_atomic(reinterpret_cast<HeapWord*>(src),
104 reinterpret_cast<HeapWord*>(dst), length);
105 }
106
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<>
113 void arraycopy_conjoint<jbyte>(jbyte* src, jbyte* dst, size_t length) {
114 Copy::conjoint_jbytes(src, dst, length);
115 }
116
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<>
123 void arraycopy_conjoint<jshort>(jshort* src, jshort* dst, size_t length) {
124 Copy::conjoint_jshorts_atomic(src, dst, length);
125 }
126
127 template<>
128 void arraycopy_conjoint<jint>(jint* src, jint* dst, size_t length) {
129 Copy::conjoint_jints_atomic(src, dst, length);
130 }
131
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<>
138 void arraycopy_conjoint<jlong>(jlong* src, jlong* dst, size_t 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);
145 }
146
147 template<>
148 void arraycopy_arrayof_conjoint<jbyte>(jbyte* src, jbyte* dst, size_t length) {
149 Copy::arrayof_conjoint_jbytes(reinterpret_cast<HeapWord*>(src),
150 reinterpret_cast<HeapWord*>(dst),
151 length);
152 }
153
154 template<>
155 void arraycopy_arrayof_conjoint<jshort>(jshort* src, jshort* dst, size_t length) {
156 Copy::arrayof_conjoint_jshorts(reinterpret_cast<HeapWord*>(src),
157 reinterpret_cast<HeapWord*>(dst),
158 length);
159 }
160
161 template<>
162 void arraycopy_arrayof_conjoint<jint>(jint* src, jint* dst, size_t length) {
163 Copy::arrayof_conjoint_jints(reinterpret_cast<HeapWord*>(src),
164 reinterpret_cast<HeapWord*>(dst),
|