comparison src/share/vm/oops/objArrayKlass.cpp @ 17853:a18dafb24f80

Merge
author asaha
date Fri, 14 Mar 2014 22:57:00 -0700
parents 85318d1fe8fe b478fbd63109
children 52b4284cb496 ce8f6bb717c9
comparison
equal deleted inserted replaced
17702:0c8d4e3b5c9a 17853:a18dafb24f80
267 oop new_val = element_is_null ? oop(NULL) 267 oop new_val = element_is_null ? oop(NULL)
268 : oopDesc::decode_heap_oop_not_null(element); 268 : oopDesc::decode_heap_oop_not_null(element);
269 if (element_is_null || 269 if (element_is_null ||
270 (new_val->klass())->is_subtype_of(bound)) { 270 (new_val->klass())->is_subtype_of(bound)) {
271 bs->write_ref_field_pre(p, new_val); 271 bs->write_ref_field_pre(p, new_val);
272 *p = *from; 272 *p = element;
273 } else { 273 } else {
274 // We must do a barrier to cover the partial copy. 274 // We must do a barrier to cover the partial copy.
275 const size_t pd = pointer_delta(p, dst, (size_t)heapOopSize); 275 const size_t pd = pointer_delta(p, dst, (size_t)heapOopSize);
276 // pointer delta is scaled to number of elements (length field in 276 // pointer delta is scaled to number of elements (length field in
277 // objArrayOop) which we assume is 32 bit. 277 // objArrayOop) which we assume is 32 bit.