< prev index next >

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

Print this page




  24 
  25 #ifndef SHARE_VM_GC_G1_G1REMSET_HPP
  26 #define SHARE_VM_GC_G1_G1REMSET_HPP
  27 
  28 #include "gc/g1/g1RemSetSummary.hpp"
  29 
  30 // A G1RemSet provides ways of iterating over pointers into a selected
  31 // collection set.
  32 
  33 class G1CollectedHeap;
  34 class ConcurrentG1Refine;
  35 class G1ParPushHeapRSClosure;
  36 
  37 // A G1RemSet in which each heap region has a rem set that records the
  38 // external heap references into it.  Uses a mod ref bs to track updates,
  39 // so that they can be used to update the individual region remsets.
  40 
  41 class G1RemSet: public CHeapObj<mtGC> {
  42 private:
  43   G1RemSetSummary _prev_period_summary;







  44 protected:
  45   G1CollectedHeap* _g1;
  46   size_t _conc_refine_cards;
  47   uint n_workers();
  48 
  49 protected:
  50   enum SomePrivateConstants {
  51     UpdateRStoMergeSync  = 0,
  52     MergeRStoDoDirtySync = 1,
  53     DoDirtySync          = 2,
  54     LastSync             = 3,
  55 
  56     SeqTask              = 0,
  57     NumSeqTasks          = 1
  58   };
  59 
  60   CardTableModRefBS*     _ct_bs;
  61   G1CollectorPolicy*     _g1p;
  62 
  63   ConcurrentG1Refine*    _cg1r;




  24 
  25 #ifndef SHARE_VM_GC_G1_G1REMSET_HPP
  26 #define SHARE_VM_GC_G1_G1REMSET_HPP
  27 
  28 #include "gc/g1/g1RemSetSummary.hpp"
  29 
  30 // A G1RemSet provides ways of iterating over pointers into a selected
  31 // collection set.
  32 
  33 class G1CollectedHeap;
  34 class ConcurrentG1Refine;
  35 class G1ParPushHeapRSClosure;
  36 
  37 // A G1RemSet in which each heap region has a rem set that records the
  38 // external heap references into it.  Uses a mod ref bs to track updates,
  39 // so that they can be used to update the individual region remsets.
  40 
  41 class G1RemSet: public CHeapObj<mtGC> {
  42 private:
  43   G1RemSetSummary _prev_period_summary;
  44 
  45   // A DirtyCardQueueSet that is used to hold cards that contain
  46   // references into the current collection set. This is used to
  47   // update the remembered sets of the regions in the collection
  48   // set in the event of an evacuation failure.
  49   DirtyCardQueueSet _into_cset_dirty_card_queue_set;
  50 
  51 protected:
  52   G1CollectedHeap* _g1;
  53   size_t _conc_refine_cards;
  54   uint n_workers();
  55 
  56 protected:
  57   enum SomePrivateConstants {
  58     UpdateRStoMergeSync  = 0,
  59     MergeRStoDoDirtySync = 1,
  60     DoDirtySync          = 2,
  61     LastSync             = 3,
  62 
  63     SeqTask              = 0,
  64     NumSeqTasks          = 1
  65   };
  66 
  67   CardTableModRefBS*     _ct_bs;
  68   G1CollectorPolicy*     _g1p;
  69 
  70   ConcurrentG1Refine*    _cg1r;


< prev index next >