< prev index next >

src/hotspot/share/oops/accessBackend.cpp

Print this page

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 }
< prev index next >