< prev index next >
src/share/vm/gc/g1/heapRegionManager.hpp
Print this page
*** 148,161 ****
--- 148,168 ----
// Return the HeapRegion at the given index. Assume that the index
// is valid.
inline HeapRegion* at(uint index) const;
+ // Return the HeapRegion at the given index, or NULL.
+ inline HeapRegion* at_or_null(uint index) const;
+
// If addr is within the committed space return its corresponding
// HeapRegion, otherwise return NULL.
inline HeapRegion* addr_to_region(HeapWord* addr) const;
+ // If addr is within the maximum heap space, return its corresponding
+ // HeapRegion index.
+ inline uint addr_to_index(HeapWord* addr) const;
+
// Insert the given region into the free region list.
inline void insert_into_free_list(HeapRegion* hr);
// Insert the given region list into the global free region list.
void insert_list_into_free_list(FreeRegionList* list) {
*** 219,228 ****
--- 226,238 ----
// start index of that set, or G1_NO_HRM_INDEX.
uint find_contiguous_empty_or_unavailable(size_t num) { return find_contiguous(num, false); }
HeapRegion* next_region_in_heap(const HeapRegion* r) const;
+ // Find the highest available empty or uncommitted region in the reserved heap.
+ uint find_highest_available(bool* expanded);
+
// Apply blk->doHeapRegion() on all committed regions in address order,
// terminating the iteration early if doHeapRegion() returns true.
void iterate(HeapRegionClosure* blk) const;
void par_iterate(HeapRegionClosure* blk, uint worker_id, HeapRegionClaimer* hrclaimer, bool concurrent) const;
< prev index next >