< prev index next >

src/hotspot/share/gc/shared/generation.hpp

Print this page




  40 // The Generation class hierarchy:
  41 //
  42 // Generation                      - abstract base class
  43 // - DefNewGeneration              - allocation area (copy collected)
  44 // - CardGeneration                 - abstract class adding offset array behavior
  45 //   - TenuredGeneration             - tenured (old object) space (markSweepCompact)
  46 //
  47 // The system configuration currently allowed is:
  48 //
  49 //   DefNewGeneration + TenuredGeneration
  50 //
  51 
  52 class DefNewGeneration;
  53 class GCMemoryManager;
  54 class GenerationSpec;
  55 class CompactibleSpace;
  56 class ContiguousSpace;
  57 class CompactPoint;
  58 class OopsInGenClosure;
  59 class OopClosure;
  60 class ScanClosure;
  61 class FastScanClosure;
  62 class GenCollectedHeap;
  63 class GCStats;
  64 
  65 // A "ScratchBlock" represents a block of memory in one generation usable by
  66 // another.  It represents "num_words" free words, starting at and including
  67 // the address of "this".
  68 struct ScratchBlock {
  69   ScratchBlock* next;
  70   size_t num_words;
  71   HeapWord scratch_space[1];  // Actually, of size "num_words-2" (assuming
  72                               // first two fields are word-sized.)
  73 };
  74 
  75 class Generation: public CHeapObj<mtGC> {
  76   friend class VMStructs;
  77  private:
  78   MemRegion _prev_used_region; // for collectors that want to "remember" a value for
  79                                // used region at some specific point during collection.
  80 




  40 // The Generation class hierarchy:
  41 //
  42 // Generation                      - abstract base class
  43 // - DefNewGeneration              - allocation area (copy collected)
  44 // - CardGeneration                 - abstract class adding offset array behavior
  45 //   - TenuredGeneration             - tenured (old object) space (markSweepCompact)
  46 //
  47 // The system configuration currently allowed is:
  48 //
  49 //   DefNewGeneration + TenuredGeneration
  50 //
  51 
  52 class DefNewGeneration;
  53 class GCMemoryManager;
  54 class GenerationSpec;
  55 class CompactibleSpace;
  56 class ContiguousSpace;
  57 class CompactPoint;
  58 class OopsInGenClosure;
  59 class OopClosure;

  60 class FastScanClosure;
  61 class GenCollectedHeap;
  62 class GCStats;
  63 
  64 // A "ScratchBlock" represents a block of memory in one generation usable by
  65 // another.  It represents "num_words" free words, starting at and including
  66 // the address of "this".
  67 struct ScratchBlock {
  68   ScratchBlock* next;
  69   size_t num_words;
  70   HeapWord scratch_space[1];  // Actually, of size "num_words-2" (assuming
  71                               // first two fields are word-sized.)
  72 };
  73 
  74 class Generation: public CHeapObj<mtGC> {
  75   friend class VMStructs;
  76  private:
  77   MemRegion _prev_used_region; // for collectors that want to "remember" a value for
  78                                // used region at some specific point during collection.
  79 


< prev index next >