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