< prev index next >

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

Print this page
rev 9770 : imported patch 8145674-fix-includes-and-forward-declarations-in-g1remset-files
rev 9773 : imported patch 8145672-remove-dependency-of-g1fromcardcache-to-heapregionremset
rev 9774 : [mq]: 8145672-jmasa-comments


  65   _into_cset_dirty_card_queue_set.initialize(NULL, // Should never be called by the Java code
  66                                              DirtyCardQ_CBL_mon,
  67                                              DirtyCardQ_FL_lock,
  68                                              -1, // never trigger processing
  69                                              -1, // no limit on length
  70                                              Shared_DirtyCardQ_lock,
  71                                              &JavaThread::dirty_card_queue_set());
  72 }
  73 
  74 G1RemSet::~G1RemSet() {
  75   for (uint i = 0; i < n_workers(); i++) {
  76     assert(_cset_rs_update_cl[i] == NULL, "it should be");
  77   }
  78   FREE_C_HEAP_ARRAY(G1ParPushHeapRSClosure*, _cset_rs_update_cl);
  79 }
  80 
  81 uint G1RemSet::num_par_rem_sets() {
  82   return MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), ParallelGCThreads);
  83 }
  84 
  85 void G1RemSet::init_heap(uint max_regions) {
  86   G1FromCardCache::initialize(num_par_rem_sets(), max_regions);
  87 }
  88 
  89 ScanRSClosure::ScanRSClosure(G1ParPushHeapRSClosure* oc,
  90                              CodeBlobClosure* code_root_cl,
  91                              uint worker_i) :
  92   _oc(oc),
  93   _code_root_cl(code_root_cl),
  94   _strong_code_root_scan_time_sec(0.0),
  95   _cards(0),
  96   _cards_done(0),
  97   _worker_i(worker_i),
  98   _try_claimed(false) {
  99   _g1h = G1CollectedHeap::heap();
 100   _bot_shared = _g1h->bot_shared();
 101   _ct_bs = _g1h->g1_barrier_set();
 102   _block_size = MAX2<size_t>(G1RSetScanBlockSize, 1);
 103 }
 104 
 105 void ScanRSClosure::scanCard(size_t index, HeapRegion *r) {




  65   _into_cset_dirty_card_queue_set.initialize(NULL, // Should never be called by the Java code
  66                                              DirtyCardQ_CBL_mon,
  67                                              DirtyCardQ_FL_lock,
  68                                              -1, // never trigger processing
  69                                              -1, // no limit on length
  70                                              Shared_DirtyCardQ_lock,
  71                                              &JavaThread::dirty_card_queue_set());
  72 }
  73 
  74 G1RemSet::~G1RemSet() {
  75   for (uint i = 0; i < n_workers(); i++) {
  76     assert(_cset_rs_update_cl[i] == NULL, "it should be");
  77   }
  78   FREE_C_HEAP_ARRAY(G1ParPushHeapRSClosure*, _cset_rs_update_cl);
  79 }
  80 
  81 uint G1RemSet::num_par_rem_sets() {
  82   return MAX2(DirtyCardQueueSet::num_par_ids() + ConcurrentG1Refine::thread_num(), ParallelGCThreads);
  83 }
  84 
  85 void G1RemSet::initialize(uint max_regions) {
  86   G1FromCardCache::initialize(num_par_rem_sets(), max_regions);
  87 }
  88 
  89 ScanRSClosure::ScanRSClosure(G1ParPushHeapRSClosure* oc,
  90                              CodeBlobClosure* code_root_cl,
  91                              uint worker_i) :
  92   _oc(oc),
  93   _code_root_cl(code_root_cl),
  94   _strong_code_root_scan_time_sec(0.0),
  95   _cards(0),
  96   _cards_done(0),
  97   _worker_i(worker_i),
  98   _try_claimed(false) {
  99   _g1h = G1CollectedHeap::heap();
 100   _bot_shared = _g1h->bot_shared();
 101   _ct_bs = _g1h->g1_barrier_set();
 102   _block_size = MAX2<size_t>(G1RSetScanBlockSize, 1);
 103 }
 104 
 105 void ScanRSClosure::scanCard(size_t index, HeapRegion *r) {


< prev index next >