< prev index next >

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

Print this page
rev 53791 : 8203232: Shenandoah: Resolve oops in SATB filter

*** 333,343 **** if (!_satb_mark_queue_set.is_active()) return; // Filter marked objects before hitting the SATB queues. The same predicate would // be used by SATBMQ::filter to eliminate already marked objects downstream, but // filtering here helps to avoid wasteful SATB queueing work to begin with. ! if (!_heap->requires_marking(obj)) return; Thread* thr = Thread::current(); if (thr->is_Java_thread()) { ShenandoahThreadLocalData::satb_mark_queue(thr).enqueue(obj); } else { --- 333,343 ---- if (!_satb_mark_queue_set.is_active()) return; // Filter marked objects before hitting the SATB queues. The same predicate would // be used by SATBMQ::filter to eliminate already marked objects downstream, but // filtering here helps to avoid wasteful SATB queueing work to begin with. ! if (!_heap->requires_marking<false>(obj)) return; Thread* thr = Thread::current(); if (thr->is_Java_thread()) { ShenandoahThreadLocalData::satb_mark_queue(thr).enqueue(obj); } else {
< prev index next >