src/share/vm/gc_implementation/g1/heapRegionSet.hpp

Print this page
rev 3463 : 7114678: G1: various small fixes, code cleanup, and refactoring
Summary: Various cleanups as a prelude to introducing iterators for HeapRegions.
Reviewed-by: johnc
Contributed-by: tonyp


  45 // (e.g., length, region num, used bytes sum) plus any shared
  46 // functionality (e.g., verification).
  47 
  48 class hrs_ext_msg;
  49 
  50 typedef enum {
  51   HRSPhaseNone,
  52   HRSPhaseEvacuation,
  53   HRSPhaseCleanup,
  54   HRSPhaseFullGC
  55 } HRSPhase;
  56 
  57 class HRSPhaseSetter;
  58 
  59 class HeapRegionSetBase VALUE_OBJ_CLASS_SPEC {
  60   friend class hrs_ext_msg;
  61   friend class HRSPhaseSetter;
  62   friend class VMStructs;
  63 
  64 protected:
  65   static uint calculate_region_num(HeapRegion* hr);
  66 
  67   static uint _unrealistically_long_length;
  68 
  69   // The number of regions added to the set. If the set contains
  70   // only humongous regions, this reflects only 'starts humongous'
  71   // regions and does not include 'continues humongous' ones.
  72   uint _length;
  73 
  74   // The total number of regions represented by the set. If the set
  75   // does not contain humongous regions, this should be the same as
  76   // _length. If the set contains only humongous regions, this will
  77   // include the 'continues humongous' regions.
  78   uint _region_num;
  79 
  80   // We don't keep track of the total capacity explicitly, we instead
  81   // recalculate it based on _region_num and the heap region size.
  82 
  83   // The sum of used bytes in the all the regions in the set.
  84   size_t _total_used_bytes;
  85 
  86   const char* _name;




  45 // (e.g., length, region num, used bytes sum) plus any shared
  46 // functionality (e.g., verification).
  47 
  48 class hrs_ext_msg;
  49 
  50 typedef enum {
  51   HRSPhaseNone,
  52   HRSPhaseEvacuation,
  53   HRSPhaseCleanup,
  54   HRSPhaseFullGC
  55 } HRSPhase;
  56 
  57 class HRSPhaseSetter;
  58 
  59 class HeapRegionSetBase VALUE_OBJ_CLASS_SPEC {
  60   friend class hrs_ext_msg;
  61   friend class HRSPhaseSetter;
  62   friend class VMStructs;
  63 
  64 protected:


  65   static uint _unrealistically_long_length;
  66 
  67   // The number of regions added to the set. If the set contains
  68   // only humongous regions, this reflects only 'starts humongous'
  69   // regions and does not include 'continues humongous' ones.
  70   uint _length;
  71 
  72   // The total number of regions represented by the set. If the set
  73   // does not contain humongous regions, this should be the same as
  74   // _length. If the set contains only humongous regions, this will
  75   // include the 'continues humongous' regions.
  76   uint _region_num;
  77 
  78   // We don't keep track of the total capacity explicitly, we instead
  79   // recalculate it based on _region_num and the heap region size.
  80 
  81   // The sum of used bytes in the all the regions in the set.
  82   size_t _total_used_bytes;
  83 
  84   const char* _name;