155 void set_old() { set(OldTag); } 156 157 // Change the current region type to be of an old region type if not already done so. 158 // Returns whether the region type has been changed or not. 159 bool relabel_as_old() { 160 //assert(!is_free(), "Should not try to move Free region"); 161 assert(!is_humongous(), "Should not try to move Humongous region"); 162 if (is_old()) { 163 return false; 164 } 165 if (is_eden()) { 166 set_from(OldTag, EdenTag); 167 return true; 168 } else if (is_free()) { 169 set_from(OldTag, FreeTag); 170 return true; 171 } else { 172 set_from(OldTag, SurvTag); 173 return true; 174 } 175 ShouldNotReachHere(); 176 return false; 177 } 178 void set_open_archive() { set_from(OpenArchiveTag, FreeTag); } 179 void set_closed_archive() { set_from(ClosedArchiveTag, FreeTag); } 180 181 // Misc 182 183 const char* get_str() const; 184 const char* get_short_str() const; 185 G1HeapRegionTraceType::Type get_trace_type(); 186 187 HeapRegionType() : _tag(FreeTag) { hrt_assert_is_valid(_tag); } 188 }; 189 190 #endif // SHARE_VM_GC_G1_HEAPREGIONTYPE_HPP | 155 void set_old() { set(OldTag); } 156 157 // Change the current region type to be of an old region type if not already done so. 158 // Returns whether the region type has been changed or not. 159 bool relabel_as_old() { 160 //assert(!is_free(), "Should not try to move Free region"); 161 assert(!is_humongous(), "Should not try to move Humongous region"); 162 if (is_old()) { 163 return false; 164 } 165 if (is_eden()) { 166 set_from(OldTag, EdenTag); 167 return true; 168 } else if (is_free()) { 169 set_from(OldTag, FreeTag); 170 return true; 171 } else { 172 set_from(OldTag, SurvTag); 173 return true; 174 } 175 } 176 void set_open_archive() { set_from(OpenArchiveTag, FreeTag); } 177 void set_closed_archive() { set_from(ClosedArchiveTag, FreeTag); } 178 179 // Misc 180 181 const char* get_str() const; 182 const char* get_short_str() const; 183 G1HeapRegionTraceType::Type get_trace_type(); 184 185 HeapRegionType() : _tag(FreeTag) { hrt_assert_is_valid(_tag); } 186 }; 187 188 #endif // SHARE_VM_GC_G1_HEAPREGIONTYPE_HPP |