src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp

Print this page
rev 5823 : 8031703: Missing post-barrier in ReferenceProcessor

*** 5623,5633 **** // Select discovered lists [i, i+stride, i+2*stride,...,limit) for (uint idx = worker_id; idx < limit; idx += stride) { DiscoveredList& ref_list = rp->discovered_refs()[idx]; ! DiscoveredListIterator iter(ref_list, &keep_alive, &always_alive); while (iter.has_next()) { // Since discovery is not atomic for the CM ref processor, we // can see some null referent objects. iter.load_ptrs(DEBUG_ONLY(true)); oop ref = iter.obj(); --- 5623,5634 ---- // Select discovered lists [i, i+stride, i+2*stride,...,limit) for (uint idx = worker_id; idx < limit; idx += stride) { DiscoveredList& ref_list = rp->discovered_refs()[idx]; ! DiscoveredListIterator iter(ref_list, &keep_alive, &always_alive, ! false /* discovered_list_needs_barrier */); while (iter.has_next()) { // Since discovery is not atomic for the CM ref processor, we // can see some null referent objects. iter.load_ptrs(DEBUG_ONLY(true)); oop ref = iter.obj();