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();