< prev index next >

src/hotspot/share/gc/g1/heapRegionRemSet.cpp

Print this page

        

*** 217,227 **** // parsing of the list, if any, may fail to see other entries), // the content of the prt must be visible (else for instance // some mark bits may not yet seem cleared or a 'later' update // performed by a concurrent thread could be undone when the // zeroing becomes visible). This requires store ordering. ! OrderAccess::release_store(&_fine_grain_regions[ind], prt); _n_fine_entries++; // Transfer from sparse to fine-grain. SparsePRTEntry *sprt_entry = _sparse_table.get_entry(from_hrm_ind); assert(sprt_entry != NULL, "There should have been an entry"); --- 217,227 ---- // parsing of the list, if any, may fail to see other entries), // the content of the prt must be visible (else for instance // some mark bits may not yet seem cleared or a 'later' update // performed by a concurrent thread could be undone when the // zeroing becomes visible). This requires store ordering. ! Atomic::release_store(&_fine_grain_regions[ind], prt); _n_fine_entries++; // Transfer from sparse to fine-grain. SparsePRTEntry *sprt_entry = _sparse_table.get_entry(from_hrm_ind); assert(sprt_entry != NULL, "There should have been an entry");
< prev index next >