equal
deleted
inserted
replaced
173 if (length == 0) |
173 if (length == 0) |
174 return; |
174 return; |
175 |
175 |
176 // This is an attempt to make the copy_array fast. |
176 // This is an attempt to make the copy_array fast. |
177 int l2es = log2_element_size(); |
177 int l2es = log2_element_size(); |
178 int ihs = array_header_in_bytes() / wordSize; |
178 size_t src_offset = arrayOopDesc::base_offset_in_bytes(element_type()) + ((size_t)src_pos << l2es); |
179 void* src = (char*) (s->base(element_type())) + ((size_t)src_pos << l2es); |
179 size_t dst_offset = arrayOopDesc::base_offset_in_bytes(element_type()) + ((size_t)dst_pos << l2es); |
180 void* dst = (char*) (d->base(element_type())) + ((size_t)dst_pos << l2es); |
180 ArrayAccess<ARRAYCOPY_ATOMIC>::arraycopy<void>(s, src_offset, d, dst_offset, (size_t)length << l2es); |
181 HeapAccess<ARRAYCOPY_ATOMIC>::arraycopy(s, d, src, dst, (size_t)length << l2es); |
|
182 } |
181 } |
183 |
182 |
184 // create a klass of array holding typeArrays |
183 // create a klass of array holding typeArrays |
185 Klass* TypeArrayKlass::array_klass_impl(bool or_null, int n, TRAPS) { |
184 Klass* TypeArrayKlass::array_klass_impl(bool or_null, int n, TRAPS) { |
186 int dim = dimension(); |
185 int dim = dimension(); |