168 void HeapRegion::set_free() { 169 report_region_type_change(G1HeapRegionTraceType::Free); 170 _type.set_free(); 171 } 172 173 void HeapRegion::set_eden() { 174 report_region_type_change(G1HeapRegionTraceType::Eden); 175 _type.set_eden(); 176 } 177 178 void HeapRegion::set_eden_pre_gc() { 179 report_region_type_change(G1HeapRegionTraceType::Eden); 180 _type.set_eden_pre_gc(); 181 } 182 183 void HeapRegion::set_survivor() { 184 report_region_type_change(G1HeapRegionTraceType::Survivor); 185 _type.set_survivor(); 186 } 187 188 void HeapRegion::set_old() { 189 report_region_type_change(G1HeapRegionTraceType::Old); 190 _type.set_old(); 191 } 192 193 void HeapRegion::set_archive() { 194 report_region_type_change(G1HeapRegionTraceType::Archive); 195 _type.set_archive(); 196 } 197 198 void HeapRegion::set_starts_humongous(HeapWord* obj_top, size_t fill_size) { 199 assert(!is_humongous(), "sanity / pre-condition"); 200 assert(top() == bottom(), "should be empty"); 201 202 report_region_type_change(G1HeapRegionTraceType::StartsHumongous); 203 _type.set_starts_humongous(); 204 _humongous_start_region = this; 205 206 _bot_part.set_for_starts_humongous(obj_top, fill_size); 207 } 208 209 void HeapRegion::set_continues_humongous(HeapRegion* first_hr) { 210 assert(!is_humongous(), "sanity / pre-condition"); 211 assert(top() == bottom(), "should be empty"); 212 assert(first_hr->is_starts_humongous(), "pre-condition"); 213 214 report_region_type_change(G1HeapRegionTraceType::ContinuesHumongous); 215 _type.set_continues_humongous(); | 168 void HeapRegion::set_free() { 169 report_region_type_change(G1HeapRegionTraceType::Free); 170 _type.set_free(); 171 } 172 173 void HeapRegion::set_eden() { 174 report_region_type_change(G1HeapRegionTraceType::Eden); 175 _type.set_eden(); 176 } 177 178 void HeapRegion::set_eden_pre_gc() { 179 report_region_type_change(G1HeapRegionTraceType::Eden); 180 _type.set_eden_pre_gc(); 181 } 182 183 void HeapRegion::set_survivor() { 184 report_region_type_change(G1HeapRegionTraceType::Survivor); 185 _type.set_survivor(); 186 } 187 188 void HeapRegion::move_to_old() { 189 if (_type.relabel_as_old()) { 190 report_region_type_change(G1HeapRegionTraceType::Old); 191 } 192 } 193 194 void HeapRegion::set_old() { 195 report_region_type_change(G1HeapRegionTraceType::Old); 196 _type.set_old(); 197 } 198 199 void HeapRegion::set_open_archive() { 200 report_region_type_change(G1HeapRegionTraceType::OpenArchive); 201 _type.set_open_archive(); 202 } 203 204 void HeapRegion::set_closed_archive() { 205 report_region_type_change(G1HeapRegionTraceType::ClosedArchive); 206 _type.set_closed_archive(); 207 } 208 209 void HeapRegion::set_starts_humongous(HeapWord* obj_top, size_t fill_size) { 210 assert(!is_humongous(), "sanity / pre-condition"); 211 assert(top() == bottom(), "should be empty"); 212 213 report_region_type_change(G1HeapRegionTraceType::StartsHumongous); 214 _type.set_starts_humongous(); 215 _humongous_start_region = this; 216 217 _bot_part.set_for_starts_humongous(obj_top, fill_size); 218 } 219 220 void HeapRegion::set_continues_humongous(HeapRegion* first_hr) { 221 assert(!is_humongous(), "sanity / pre-condition"); 222 assert(top() == bottom(), "should be empty"); 223 assert(first_hr->is_starts_humongous(), "pre-condition"); 224 225 report_region_type_change(G1HeapRegionTraceType::ContinuesHumongous); 226 _type.set_continues_humongous(); |