src/hotspot/share/oops/typeArrayKlass.cpp
changeset 49383 bf2ff45e592f
parent 49359 59f6547e151f
child 50094 2f79462aab9b
equal deleted inserted replaced
49382:3875d7b926a8 49383:bf2ff45e592f
   150     return;
   150     return;
   151 
   151 
   152   // This is an attempt to make the copy_array fast.
   152   // This is an attempt to make the copy_array fast.
   153   int l2es = log2_element_size();
   153   int l2es = log2_element_size();
   154   int ihs = array_header_in_bytes() / wordSize;
   154   int ihs = array_header_in_bytes() / wordSize;
   155   char* src = (char*) ((oop*)s + ihs) + ((size_t)src_pos << l2es);
   155   void* src = (char*) (s->base(element_type())) + ((size_t)src_pos << l2es);
   156   char* dst = (char*) ((oop*)d + ihs) + ((size_t)dst_pos << l2es);
   156   void* dst = (char*) (d->base(element_type())) + ((size_t)dst_pos << l2es);
   157   Copy::conjoint_memory_atomic(src, dst, (size_t)length << l2es);
   157   HeapAccess<ARRAYCOPY_ATOMIC>::arraycopy(s, d, src, dst, (size_t)length << l2es);
   158 }
   158 }
   159 
   159 
   160 
   160 
   161 // create a klass of array holding typeArrays
   161 // create a klass of array holding typeArrays
   162 Klass* TypeArrayKlass::array_klass_impl(bool or_null, int n, TRAPS) {
   162 Klass* TypeArrayKlass::array_klass_impl(bool or_null, int n, TRAPS) {