< prev index next >

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

Print this page




  31 #include "memory/allocation.hpp"
  32 #include "utilities/macros.hpp"
  33 
  34 // This class (or more correctly, subtypes of this class)
  35 // are used to define global garbage collector attributes.
  36 // This includes initialization of generations and any other
  37 // shared resources they may need.
  38 //
  39 // In general, all flag adjustment and validation should be
  40 // done in initialize_flags(), which is called prior to
  41 // initialize_size_info().
  42 //
  43 // This class is not fully developed yet. As more collector(s)
  44 // are added, it is expected that we will come across further
  45 // behavior that requires global attention. The correct place
  46 // to deal with those issues is this class.
  47 
  48 // Forward declarations.
  49 class GenCollectorPolicy;
  50 class AdaptiveSizePolicy;
  51 #if INCLUDE_ALL_GCS
  52 class ConcurrentMarkSweepPolicy;
  53 class G1CollectorPolicy;
  54 #endif // INCLUDE_ALL_GCS
  55 
  56 class MarkSweepPolicy;
  57 
  58 class CollectorPolicy : public CHeapObj<mtGC> {
  59  protected:
  60   virtual void initialize_alignments() = 0;
  61   virtual void initialize_flags();
  62   virtual void initialize_size_info();
  63 
  64   DEBUG_ONLY(virtual void assert_flags();)
  65   DEBUG_ONLY(virtual void assert_size_info();)
  66 
  67   size_t _initial_heap_byte_size;
  68   size_t _max_heap_byte_size;
  69   size_t _min_heap_byte_size;
  70 
  71   size_t _space_alignment;
  72   size_t _heap_alignment;
  73 
  74   CollectorPolicy();
  75 




  31 #include "memory/allocation.hpp"
  32 #include "utilities/macros.hpp"
  33 
  34 // This class (or more correctly, subtypes of this class)
  35 // are used to define global garbage collector attributes.
  36 // This includes initialization of generations and any other
  37 // shared resources they may need.
  38 //
  39 // In general, all flag adjustment and validation should be
  40 // done in initialize_flags(), which is called prior to
  41 // initialize_size_info().
  42 //
  43 // This class is not fully developed yet. As more collector(s)
  44 // are added, it is expected that we will come across further
  45 // behavior that requires global attention. The correct place
  46 // to deal with those issues is this class.
  47 
  48 // Forward declarations.
  49 class GenCollectorPolicy;
  50 class AdaptiveSizePolicy;

  51 class ConcurrentMarkSweepPolicy;
  52 class G1CollectorPolicy;


  53 class MarkSweepPolicy;
  54 
  55 class CollectorPolicy : public CHeapObj<mtGC> {
  56  protected:
  57   virtual void initialize_alignments() = 0;
  58   virtual void initialize_flags();
  59   virtual void initialize_size_info();
  60 
  61   DEBUG_ONLY(virtual void assert_flags();)
  62   DEBUG_ONLY(virtual void assert_size_info();)
  63 
  64   size_t _initial_heap_byte_size;
  65   size_t _max_heap_byte_size;
  66   size_t _min_heap_byte_size;
  67 
  68   size_t _space_alignment;
  69   size_t _heap_alignment;
  70 
  71   CollectorPolicy();
  72 


< prev index next >