src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp

changeset 961
818efdefcc99
parent 777
37f87013dfd8
child 1014
0fbdb4381b99
     1.1 --- a/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp	Wed Jan 14 14:12:55 2009 -0800
     1.2 +++ b/src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp	Fri Jan 16 13:02:20 2009 -0500
     1.3 @@ -36,8 +36,11 @@
     1.4  
     1.5  inline HeapRegion*
     1.6  G1CollectedHeap::heap_region_containing_raw(const void* addr) const {
     1.7 -  HeapRegion* res = _hrs->addr_to_region(addr);
     1.8 -  assert(res != NULL, "addr outside of heap?");
     1.9 +  assert(_g1_reserved.contains(addr), "invariant");
    1.10 +  size_t index = ((intptr_t) addr - (intptr_t) _g1_reserved.start())
    1.11 +                                              >> HeapRegion::LogOfHRGrainBytes;
    1.12 +  HeapRegion* res = _hrs->at(index);
    1.13 +  assert(res == _hrs->addr_to_region(addr), "sanity");
    1.14    return res;
    1.15  }
    1.16  

mercurial