< prev index next >

src/share/vm/oops/objArrayKlass.cpp

Print this page
rev 8961 : [mq]: diff-shenandoah.patch

*** 296,305 **** --- 296,309 ---- // This is correct, since the position is supposed to be an 'in between point', i.e., s.length(), // points to the right of the last element. if (length==0) { return; } + + s = arrayOop(oopDesc::bs()->resolve_oop(s)); + d = arrayOop(oopDesc::bs()->resolve_and_maybe_copy_oop(d)); + if (UseCompressedOops) { narrowOop* const src = objArrayOop(s)->obj_at_addr<narrowOop>(src_pos); narrowOop* const dst = objArrayOop(d)->obj_at_addr<narrowOop>(dst_pos); do_copy<narrowOop>(s, src, d, dst, length, CHECK); } else {
< prev index next >