diff -r f5e6ef11d24b -r ac8da6513351 hotspot/src/share/vm/gc/g1/heapRegionManager.inline.hpp --- a/hotspot/src/share/vm/gc/g1/heapRegionManager.inline.hpp Fri Nov 06 09:58:06 2015 -0800 +++ b/hotspot/src/share/vm/gc/g1/heapRegionManager.inline.hpp Mon Nov 09 09:19:39 2015 +0100 @@ -47,6 +47,18 @@ return hr; } +inline HeapRegion* HeapRegionManager::next_region_in_humongous(HeapRegion* hr) const { + uint index = hr->hrm_index(); + assert(is_available(index), "pre-condition"); + assert(hr->is_humongous(), "next_region_in_humongous should only be called for a humongous region."); + index++; + if (index < max_length() && is_available(index) && at(index)->is_continues_humongous()) { + return at(index); + } else { + return NULL; + } +} + inline void HeapRegionManager::insert_into_free_list(HeapRegion* hr) { _free_list.add_ordered(hr); }