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