< prev index next >

src/hotspot/share/oops/accessBackend.cpp

Print this page
rev 49182 : 8198445: Access API for primitive/native arraycopy

@@ -151,24 +151,44 @@
                                   reinterpret_cast<HeapWord*>(dst),
                                   length);
   }
 
   template<>
+  void arraycopy_conjoint_atomic<jboolean>(jboolean* src, jboolean* dst, size_t length) {
+    Copy::conjoint_jbytes_atomic(reinterpret_cast<jbyte*>(src), reinterpret_cast<jbyte*>(dst), length);
+  }
+
+  template<>
   void arraycopy_conjoint_atomic<jbyte>(jbyte* src, jbyte* dst, size_t length) {
     Copy::conjoint_jbytes_atomic(src, dst, length);
   }
 
   template<>
+  void arraycopy_conjoint_atomic<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_atomic<jshort>(jshort* src, jshort* dst, size_t length) {
     Copy::conjoint_jshorts_atomic(src, dst, length);
   }
 
   template<>
+  void arraycopy_conjoint_atomic<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_atomic<jint>(jint* src, jint* dst, size_t length) {
     Copy::conjoint_jints_atomic(src, dst, length);
   }
 
   template<>
+  void arraycopy_conjoint_atomic<jdouble>(jdouble* src, jdouble* dst, size_t length) {
+    Copy::conjoint_jlongs_atomic(reinterpret_cast<jlong*>(src), reinterpret_cast<jlong*>(dst), length);
+  }
+
+  template<>
   void arraycopy_conjoint_atomic<jlong>(jlong* src, jlong* dst, size_t length) {
     Copy::conjoint_jlongs_atomic(src, dst, length);
   }
 }
< prev index next >