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;
|