< prev index next >

src/share/vm/gc/g1/g1RemSet.cpp

Print this page
rev 10742 : Make fields used in lock-free algorithms volatile

*** 221,231 **** RefineRecordRefsIntoCSCardTableEntryClosure(G1CollectedHeap* g1h, DirtyCardQueue* into_cset_dcq) : _g1rs(g1h->g1_rem_set()), _into_cset_dcq(into_cset_dcq) {} ! bool do_card_ptr(jbyte* card_ptr, uint worker_i) { // The only time we care about recording cards that // contain references that point into the collection set // is during RSet updating within an evacuation pause. // In this case worker_i should be the id of a GC worker thread. assert(SafepointSynchronize::is_at_safepoint(), "not during an evacuation pause"); --- 221,231 ---- RefineRecordRefsIntoCSCardTableEntryClosure(G1CollectedHeap* g1h, DirtyCardQueue* into_cset_dcq) : _g1rs(g1h->g1_rem_set()), _into_cset_dcq(into_cset_dcq) {} ! bool do_card_ptr(volatile jbyte* card_ptr, uint worker_i) { // The only time we care about recording cards that // contain references that point into the collection set // is during RSet updating within an evacuation pause. // In this case worker_i should be the id of a GC worker thread. assert(SafepointSynchronize::is_at_safepoint(), "not during an evacuation pause");
*** 364,378 **** // Returns true if the given card contains references that point // into the collection set, if we're checking for such references; // false otherwise. ! bool G1RemSet::refine_card(jbyte* card_ptr, uint worker_i, bool check_for_refs_into_cset) { assert(_g1->is_in_exact(_ct_bs->addr_for(card_ptr)), "Card at " PTR_FORMAT " index " SIZE_FORMAT " representing heap at " PTR_FORMAT " (%u) must be in committed heap", ! p2i(card_ptr), _ct_bs->index_for(_ct_bs->addr_for(card_ptr)), p2i(_ct_bs->addr_for(card_ptr)), _g1->addr_to_region(_ct_bs->addr_for(card_ptr))); // If the card is no longer dirty, nothing to do. --- 364,378 ---- // Returns true if the given card contains references that point // into the collection set, if we're checking for such references; // false otherwise. ! bool G1RemSet::refine_card(volatile jbyte* card_ptr, uint worker_i, bool check_for_refs_into_cset) { assert(_g1->is_in_exact(_ct_bs->addr_for(card_ptr)), "Card at " PTR_FORMAT " index " SIZE_FORMAT " representing heap at " PTR_FORMAT " (%u) must be in committed heap", ! p2i((jbyte*)card_ptr), _ct_bs->index_for(_ct_bs->addr_for(card_ptr)), p2i(_ct_bs->addr_for(card_ptr)), _g1->addr_to_region(_ct_bs->addr_for(card_ptr))); // If the card is no longer dirty, nothing to do.
< prev index next >