234 // before heap shrinking (free_list_only == true).
235 void tear_down_region_sets(bool free_list_only);
236
237 // Rebuilds the region sets / lists so that they are repopulated to
238 // reflect the contents of the heap. The only exception is the
239 // humongous set which was not torn down in the first place. If
240 // free_list_only is true, it will only rebuild the master free
241 // list. It is called after a Full GC (free_list_only == false) or
242 // after heap shrinking (free_list_only == true).
243 void rebuild_region_sets(bool free_list_only);
244
245 // Callback for region mapping changed events.
246 G1RegionMappingChangedListener _listener;
247
248 // The sequence of all heap regions in the heap.
249 HeapRegionManager _hrm;
250
251 // Class that handles the different kinds of allocations.
252 G1Allocator* _allocator;
253
254 // Class that handles archive allocation ranges.
255 G1ArchiveAllocator* _archive_allocator;
256
257 // Statistics for each allocation context
258 AllocationContextStats _allocation_context_stats;
259
260 // PLAB sizing policy for survivors.
261 PLABStats _survivor_plab_stats;
262
263 // PLAB sizing policy for tenured objects.
264 PLABStats _old_plab_stats;
265
266 // It specifies whether we should attempt to expand the heap after a
267 // region allocation failure. If heap expansion fails we set this to
268 // false so that we don't re-attempt the heap expansion (it's likely
269 // that subsequent expansion attempts will also fail if one fails).
270 // Currently, it is only consulted during GC and it's reset at the
271 // start of each GC.
272 bool _expand_heap_after_alloc_failure;
273
|
234 // before heap shrinking (free_list_only == true).
235 void tear_down_region_sets(bool free_list_only);
236
237 // Rebuilds the region sets / lists so that they are repopulated to
238 // reflect the contents of the heap. The only exception is the
239 // humongous set which was not torn down in the first place. If
240 // free_list_only is true, it will only rebuild the master free
241 // list. It is called after a Full GC (free_list_only == false) or
242 // after heap shrinking (free_list_only == true).
243 void rebuild_region_sets(bool free_list_only);
244
245 // Callback for region mapping changed events.
246 G1RegionMappingChangedListener _listener;
247
248 // The sequence of all heap regions in the heap.
249 HeapRegionManager _hrm;
250
251 // Class that handles the different kinds of allocations.
252 G1Allocator* _allocator;
253
254 // Outside of GC pauses, the number of bytes used in all regions other
255 // than the current allocation region(s).
256 size_t _summary_bytes_used;
257
258 void increase_used(size_t bytes);
259 void decrease_used(size_t bytes);
260
261 void set_used(size_t bytes);
262
263 // Class that handles archive allocation ranges.
264 G1ArchiveAllocator* _archive_allocator;
265
266 // Statistics for each allocation context
267 AllocationContextStats _allocation_context_stats;
268
269 // PLAB sizing policy for survivors.
270 PLABStats _survivor_plab_stats;
271
272 // PLAB sizing policy for tenured objects.
273 PLABStats _old_plab_stats;
274
275 // It specifies whether we should attempt to expand the heap after a
276 // region allocation failure. If heap expansion fails we set this to
277 // false so that we don't re-attempt the heap expansion (it's likely
278 // that subsequent expansion attempts will also fail if one fails).
279 // Currently, it is only consulted during GC and it's reset at the
280 // start of each GC.
281 bool _expand_heap_after_alloc_failure;
282
|