src/hotspot/share/gc/g1/g1RemSet.cpp
changeset 49751 c3a10df652c0
parent 49634 df9dcfff6628
child 49803 14518ac8df87
equal deleted inserted replaced
49750:bdcfe8154201 49751:c3a10df652c0
    22  *
    22  *
    23  */
    23  */
    24 
    24 
    25 #include "precompiled.hpp"
    25 #include "precompiled.hpp"
    26 #include "gc/g1/dirtyCardQueue.hpp"
    26 #include "gc/g1/dirtyCardQueue.hpp"
       
    27 #include "gc/g1/g1BarrierSet.hpp"
    27 #include "gc/g1/g1BlockOffsetTable.inline.hpp"
    28 #include "gc/g1/g1BlockOffsetTable.inline.hpp"
    28 #include "gc/g1/g1CardTable.inline.hpp"
    29 #include "gc/g1/g1CardTable.inline.hpp"
    29 #include "gc/g1/g1CollectedHeap.inline.hpp"
    30 #include "gc/g1/g1CollectedHeap.inline.hpp"
    30 #include "gc/g1/g1ConcurrentRefine.hpp"
    31 #include "gc/g1/g1ConcurrentRefine.hpp"
    31 #include "gc/g1/g1FromCardCache.hpp"
    32 #include "gc/g1/g1FromCardCache.hpp"
   486   update_rem_set(pss, worker_i);
   487   update_rem_set(pss, worker_i);
   487   scan_rem_set(pss, heap_region_codeblobs, worker_i);;
   488   scan_rem_set(pss, heap_region_codeblobs, worker_i);;
   488 }
   489 }
   489 
   490 
   490 void G1RemSet::prepare_for_oops_into_collection_set_do() {
   491 void G1RemSet::prepare_for_oops_into_collection_set_do() {
   491   DirtyCardQueueSet& dcqs = JavaThread::dirty_card_queue_set();
   492   DirtyCardQueueSet& dcqs = G1BarrierSet::dirty_card_queue_set();
   492   dcqs.concatenate_logs();
   493   dcqs.concatenate_logs();
   493 
   494 
   494   _scan_state->reset();
   495   _scan_state->reset();
   495 }
   496 }
   496 
   497 
   639     if (*card_ptr != G1CardTable::dirty_card_val()) {
   640     if (*card_ptr != G1CardTable::dirty_card_val()) {
   640       *card_ptr = G1CardTable::dirty_card_val();
   641       *card_ptr = G1CardTable::dirty_card_val();
   641       MutexLockerEx x(Shared_DirtyCardQ_lock,
   642       MutexLockerEx x(Shared_DirtyCardQ_lock,
   642                       Mutex::_no_safepoint_check_flag);
   643                       Mutex::_no_safepoint_check_flag);
   643       DirtyCardQueue* sdcq =
   644       DirtyCardQueue* sdcq =
   644         JavaThread::dirty_card_queue_set().shared_dirty_card_queue();
   645         G1BarrierSet::dirty_card_queue_set().shared_dirty_card_queue();
   645       sdcq->enqueue(card_ptr);
   646       sdcq->enqueue(card_ptr);
   646     }
   647     }
   647   } else {
   648   } else {
   648     _num_conc_refined_cards++; // Unsynchronized update, only used for logging.
   649     _num_conc_refined_cards++; // Unsynchronized update, only used for logging.
   649   }
   650   }