< prev index next >
src/hotspot/share/gc/g1/heapRegionManager.hpp
Print this page
@@ -170,15 +170,26 @@
inline HeapRegion* addr_to_region(HeapWord* addr) const;
// Insert the given region into the free region list.
inline void insert_into_free_list(HeapRegion* hr);
+ // Abandon the current free list to allow for a rebuild. The actual
+ // region in the free list must be handled separately.
+ void abandon_free_list() {
+ _free_list.abandon();
+ }
+
// Insert the given region list into the global free region list.
void insert_list_into_free_list(FreeRegionList* list) {
_free_list.add_ordered(list);
}
+ // Append the list to the current list, requires the lists to be sorted.
+ void append_to_free_list(FreeRegionList* list) {
+ _free_list.append_ordered(list);
+ }
+
// Allocate a free region with specific node index. If fails allocate with next node index.
virtual HeapRegion* allocate_free_region(HeapRegionType type, uint requested_node_index);
inline void allocate_free_regions_starting_at(uint first, uint num_regions);
< prev index next >