< prev index next >

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

Print this page




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




  39 //
  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 OopClosure;

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


< prev index next >