< prev index next >

src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp

Print this page




  52 // relaxed in the future when more time is available to implement the
  53 // greater generality (and there's a need for it).
  54 //
  55 // Concurrent mode failures are currently handled by
  56 // means of a sliding mark-compact.
  57 
  58 class AdaptiveSizePolicy;
  59 class CMSCollector;
  60 class CMSConcMarkingTask;
  61 class CMSGCAdaptivePolicyCounters;
  62 class CMSTracer;
  63 class ConcurrentGCTimer;
  64 class ConcurrentMarkSweepGeneration;
  65 class ConcurrentMarkSweepPolicy;
  66 class ConcurrentMarkSweepThread;
  67 class CompactibleFreeListSpace;
  68 class FreeChunk;
  69 class ParNewGeneration;
  70 class PromotionInfo;
  71 class ScanMarkedObjectsAgainCarefullyClosure;
  72 class TenuredGeneration;
  73 class SerialOldTracer;
  74 
  75 // A generic CMS bit map. It's the basis for both the CMS marking bit map
  76 // as well as for the mod union table (in each case only a subset of the
  77 // methods are used). This is essentially a wrapper around the BitMap class,
  78 // with one bit per (1<<_shifter) HeapWords. (i.e. for the marking bit map,
  79 // we have _shifter == 0. and for the mod union table we have
  80 // shifter == CardTable::card_shift - LogHeapWordSize.)
  81 // XXX 64-bit issues in BitMap?
  82 class CMSBitMap {
  83   friend class VMStructs;
  84 
  85   HeapWord*    _bmStartWord;   // base address of range covered by map
  86   size_t       _bmWordSize;    // map size (in #HeapWords covered)
  87   const int    _shifter;       // shifts to convert HeapWord to bit position
  88   VirtualSpace _virtual_space; // underlying the bit map
  89   BitMapView   _bm;            // the bit map itself
  90   Mutex* const _lock;          // mutex protecting _bm;
  91 
  92  public:




  52 // relaxed in the future when more time is available to implement the
  53 // greater generality (and there's a need for it).
  54 //
  55 // Concurrent mode failures are currently handled by
  56 // means of a sliding mark-compact.
  57 
  58 class AdaptiveSizePolicy;
  59 class CMSCollector;
  60 class CMSConcMarkingTask;
  61 class CMSGCAdaptivePolicyCounters;
  62 class CMSTracer;
  63 class ConcurrentGCTimer;
  64 class ConcurrentMarkSweepGeneration;
  65 class ConcurrentMarkSweepPolicy;
  66 class ConcurrentMarkSweepThread;
  67 class CompactibleFreeListSpace;
  68 class FreeChunk;
  69 class ParNewGeneration;
  70 class PromotionInfo;
  71 class ScanMarkedObjectsAgainCarefullyClosure;

  72 class SerialOldTracer;
  73 
  74 // A generic CMS bit map. It's the basis for both the CMS marking bit map
  75 // as well as for the mod union table (in each case only a subset of the
  76 // methods are used). This is essentially a wrapper around the BitMap class,
  77 // with one bit per (1<<_shifter) HeapWords. (i.e. for the marking bit map,
  78 // we have _shifter == 0. and for the mod union table we have
  79 // shifter == CardTable::card_shift - LogHeapWordSize.)
  80 // XXX 64-bit issues in BitMap?
  81 class CMSBitMap {
  82   friend class VMStructs;
  83 
  84   HeapWord*    _bmStartWord;   // base address of range covered by map
  85   size_t       _bmWordSize;    // map size (in #HeapWords covered)
  86   const int    _shifter;       // shifts to convert HeapWord to bit position
  87   VirtualSpace _virtual_space; // underlying the bit map
  88   BitMapView   _bm;            // the bit map itself
  89   Mutex* const _lock;          // mutex protecting _bm;
  90 
  91  public:


< prev index next >