equal
deleted
inserted
replaced
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) { |