--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionSeq.hpp Wed Jan 19 13:04:37 2011 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionSeq.hpp Wed Jan 19 19:30:42 2011 -0500
@@ -41,9 +41,9 @@
// (For efficiency only; private to obj_allocate after initialization.)
int _alloc_search_start;
- // Attempts to allocate a block of the (assumed humongous) word_size,
- // starting at the region "ind".
- HeapWord* alloc_obj_from_region_index(int ind, size_t word_size);
+ // Finds a contiguous set of empty regions of length num, starting
+ // from a given index.
+ int find_contiguous_from(int from, size_t num);
// Currently, we're choosing collection sets in a round-robin fashion,
// starting here.
@@ -76,11 +76,8 @@
// that are available for allocation.
size_t free_suffix();
- // Requires "word_size" to be humongous (in the technical sense). If
- // possible, allocates a contiguous subsequence of the heap regions to
- // satisfy the allocation, and returns the address of the beginning of
- // that sequence, otherwise returns NULL.
- HeapWord* obj_allocate(size_t word_size);
+ // Finds a contiguous set of empty regions of length num.
+ int find_contiguous(size_t num);
// Apply the "doHeapRegion" method of "blk" to all regions in "this",
// in address order, terminating the iteration early