< prev index next >

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

Print this page
rev 13166 : imported patch 8183394-remove-unused-n_workers-method
rev 13167 : imported patch 8179677-rename-conc-refined-cards
rev 13168 : [mq]: 8179677-erik-review


  59 
  60   G1RemSetSummary _prev_period_summary;
  61 
  62   // A DirtyCardQueueSet that is used to hold cards that contain
  63   // references into the current collection set. This is used to
  64   // update the remembered sets of the regions in the collection
  65   // set in the event of an evacuation failure.
  66   DirtyCardQueueSet _into_cset_dirty_card_queue_set;
  67 
  68   // Scan all remembered sets of the collection set for references into the collection
  69   // set.
  70   void scan_rem_set(G1ParScanThreadState* pss,
  71                     CodeBlobClosure* heap_region_codeblobs,
  72                     uint worker_i);
  73 
  74   // Flush remaining refinement buffers for cross-region references to either evacuate references
  75   // into the collection set or update the remembered set.
  76   void update_rem_set(DirtyCardQueue* into_cset_dcq, G1ParScanThreadState* pss, uint worker_i);
  77 
  78   G1CollectedHeap* _g1;
  79   size_t _num_conc_refined_cards;
  80 
  81   CardTableModRefBS*     _ct_bs;
  82   G1Policy*              _g1p;
  83   G1HotCardCache*        _hot_card_cache;
  84 
  85 public:
  86   // Gives an approximation on how many threads can be expected to add records to
  87   // a remembered set in parallel. This can be used for sizing data structures to
  88   // decrease performance losses due to data structure sharing.
  89   // Examples for quantities that influence this value are the maximum number of
  90   // mutator threads, maximum number of concurrent refinement or GC threads.
  91   static uint num_par_rem_sets();
  92 
  93   // Initialize data that depends on the heap size being known.
  94   void initialize(size_t capacity, uint max_regions);
  95 
  96   // This is called to reset dual hash tables after the gc pause
  97   // is finished and the initial hash table is no longer being
  98   // scanned.
  99   void cleanupHRRS();




  59 
  60   G1RemSetSummary _prev_period_summary;
  61 
  62   // A DirtyCardQueueSet that is used to hold cards that contain
  63   // references into the current collection set. This is used to
  64   // update the remembered sets of the regions in the collection
  65   // set in the event of an evacuation failure.
  66   DirtyCardQueueSet _into_cset_dirty_card_queue_set;
  67 
  68   // Scan all remembered sets of the collection set for references into the collection
  69   // set.
  70   void scan_rem_set(G1ParScanThreadState* pss,
  71                     CodeBlobClosure* heap_region_codeblobs,
  72                     uint worker_i);
  73 
  74   // Flush remaining refinement buffers for cross-region references to either evacuate references
  75   // into the collection set or update the remembered set.
  76   void update_rem_set(DirtyCardQueue* into_cset_dcq, G1ParScanThreadState* pss, uint worker_i);
  77 
  78   G1CollectedHeap* _g1;
  79   size_t _num_conc_refined_cards; // Number of cards refined concurrently to the mutator.
  80 
  81   CardTableModRefBS*     _ct_bs;
  82   G1Policy*              _g1p;
  83   G1HotCardCache*        _hot_card_cache;
  84 
  85 public:
  86   // Gives an approximation on how many threads can be expected to add records to
  87   // a remembered set in parallel. This can be used for sizing data structures to
  88   // decrease performance losses due to data structure sharing.
  89   // Examples for quantities that influence this value are the maximum number of
  90   // mutator threads, maximum number of concurrent refinement or GC threads.
  91   static uint num_par_rem_sets();
  92 
  93   // Initialize data that depends on the heap size being known.
  94   void initialize(size_t capacity, uint max_regions);
  95 
  96   // This is called to reset dual hash tables after the gc pause
  97   // is finished and the initial hash table is no longer being
  98   // scanned.
  99   void cleanupHRRS();


< prev index next >