< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahBarrierSet.cpp

Print this page
rev 51736 : Traversal: Purge arraycopy 'optimization'

*** 120,132 **** if (!ShenandoahCloneBarrier) return; if (!need_update_refs_barrier()) return; if (_heap->is_concurrent_traversal_in_progress()) { - if (count > ShenandoahEnqueueArrayCopyThreshold) { - _heap->traversal_gc()->push_arraycopy(start, count); - } else { ShenandoahEvacOOMScope oom_evac_scope; if (UseShenandoahMatrix) { if (UseCompressedOops) { write_ref_array_loop<narrowOop, /* matrix = */ true, /* wb = */ true>(start, count); } else { --- 120,129 ----
*** 137,147 **** write_ref_array_loop<narrowOop, /* matrix = */ false, /* wb = */ true>(start, count); } else { write_ref_array_loop<oop, /* matrix = */ false, /* wb = */ true>(start, count); } } - } } else { if (UseShenandoahMatrix) { if (UseCompressedOops) { write_ref_array_loop<narrowOop, /* matrix = */ true, /* wb = */ false>(start, count); } else { --- 134,143 ----
*** 228,249 **** // that potentially need to be updated. oop obj = oop(mr.start()); assert(oopDesc::is_oop(obj), "must be an oop"); if (_heap->is_concurrent_traversal_in_progress()) { - if ((size_t) obj->size() > ShenandoahEnqueueArrayCopyThreshold) { - _heap->traversal_gc()->push_arraycopy(mr.start(), 0); - } else { ShenandoahEvacOOMScope oom_evac_scope; if (UseShenandoahMatrix) { ShenandoahUpdateRefsForOopClosure</* matrix = */ true, /* wb = */ true> cl; obj->oop_iterate(&cl); } else { ShenandoahUpdateRefsForOopClosure</* matrix = */ false, /* wb = */ true> cl; obj->oop_iterate(&cl); } - } } else { if (UseShenandoahMatrix) { ShenandoahUpdateRefsForOopClosure</* matrix = */ true, /* wb = */ false> cl; obj->oop_iterate(&cl); } else { --- 224,241 ----
< prev index next >