--- old/src/share/vm/gc_implementation/g1/heapRegionSet.cpp 2014-11-05 09:53:07.577057536 +0100 +++ new/src/share/vm/gc_implementation/g1/heapRegionSet.cpp 2014-11-05 09:53:07.469057540 +0100 @@ -426,11 +426,19 @@ mtGC); G1BlockOffsetSharedArray oa(heap, bot_storage); bot_storage->commit_regions(0, num_regions_in_test); - HeapRegion hr0(0, &oa, heap); - HeapRegion hr1(1, &oa, heap); - HeapRegion hr2(2, &oa, heap); - HeapRegion hr3(3, &oa, heap); - HeapRegion hr4(4, &oa, heap); + + // set up memory regions for the heap regions + MemRegion mr0(heap.start(), HeapRegion::GrainWords); + MemRegion mr1(mr0.start(), HeapRegion::GrainWords); + MemRegion mr2(mr1.start(), HeapRegion::GrainWords); + MemRegion mr3(mr2.start(), HeapRegion::GrainWords); + MemRegion mr4(mr3.start(), HeapRegion::GrainWords); + + HeapRegion hr0(0, &oa, mr0); + HeapRegion hr1(1, &oa, mr1); + HeapRegion hr2(2, &oa, mr2); + HeapRegion hr3(3, &oa, mr3); + HeapRegion hr4(4, &oa, mr4); l.add_ordered(&hr1); l.add_ordered(&hr0); l.add_ordered(&hr3);