147 template<> HIDDEN
148 void arraycopy_conjoint_atomic<jshort>(jshort* src, jshort* dst, size_t length) {
149 Copy::conjoint_jshorts_atomic(src, dst, length);
150 }
151
152 template<> HIDDEN
153 void arraycopy_conjoint_atomic<jint>(jint* src, jint* dst, size_t length) {
154 Copy::conjoint_jints_atomic(src, dst, length);
155 }
156
157 template<> HIDDEN
158 void arraycopy_conjoint_atomic<jlong>(jlong* src, jlong* dst, size_t length) {
159 Copy::conjoint_jlongs_atomic(src, dst, length);
160 }
161
162 template<> HIDDEN
163 void arraycopy_conjoint_atomic<void>(void* src, void* dst, size_t length) {
164 Copy::conjoint_memory_atomic(src, dst, length);
165 }
166
167 #ifdef ASSERT
168 void check_access_thread_state() {
169 if (VMError::is_error_reported() || DebuggingContext::is_enabled()) {
170 return;
171 }
172
173 Thread* thread = Thread::current();
174 if (!thread->is_Java_thread()) {
175 return;
176 }
177
178 JavaThread* java_thread = JavaThread::cast(thread);
179 JavaThreadState state = java_thread->thread_state();
180 assert(state == _thread_in_vm || state == _thread_in_Java || state == _thread_new,
181 "Wrong thread state for accesses: %d", (int)state);
182 }
183 #endif
184 }
|
147 template<> HIDDEN
148 void arraycopy_conjoint_atomic<jshort>(jshort* src, jshort* dst, size_t length) {
149 Copy::conjoint_jshorts_atomic(src, dst, length);
150 }
151
152 template<> HIDDEN
153 void arraycopy_conjoint_atomic<jint>(jint* src, jint* dst, size_t length) {
154 Copy::conjoint_jints_atomic(src, dst, length);
155 }
156
157 template<> HIDDEN
158 void arraycopy_conjoint_atomic<jlong>(jlong* src, jlong* dst, size_t length) {
159 Copy::conjoint_jlongs_atomic(src, dst, length);
160 }
161
162 template<> HIDDEN
163 void arraycopy_conjoint_atomic<void>(void* src, void* dst, size_t length) {
164 Copy::conjoint_memory_atomic(src, dst, length);
165 }
166
167 void value_copy_internal(void* src, void* dst, size_t length) {
168 Copy::copy_value_content(src, dst, length);
169 }
170
171 #ifdef ASSERT
172 void check_access_thread_state() {
173 if (VMError::is_error_reported() || DebuggingContext::is_enabled()) {
174 return;
175 }
176
177 Thread* thread = Thread::current();
178 if (!thread->is_Java_thread()) {
179 return;
180 }
181
182 JavaThread* java_thread = JavaThread::cast(thread);
183 JavaThreadState state = java_thread->thread_state();
184 assert(state == _thread_in_vm || state == _thread_in_Java || state == _thread_new,
185 "Wrong thread state for accesses: %d", (int)state);
186 }
187 #endif
188 }
|