diff src/share/vm/gc_implementation/g1/heapRegion.hpp @ 4020:5e5d4821bf07

7097516: G1: assert(0<= from_card && from_card<HeapRegion::CardsPerRegion) failed: Must be in range. Summary: Introduced a version of is_in_reserved() that looks at _orig_end as opposed to _end. Reviewed-by: tonyp, stefank
author brutisso
date Thu, 20 Oct 2011 10:21:35 +0200
parents 65a8ff39a6da
children c6a6e936dc68
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/heapRegion.hpp	Mon Oct 17 09:57:41 2011 -0700
+++ b/src/share/vm/gc_implementation/g1/heapRegion.hpp	Thu Oct 20 10:21:35 2011 +0200
@@ -431,6 +431,14 @@
     return _humongous_start_region;
   }
 
+  // Same as Space::is_in_reserved, but will use the original size of the region.
+  // The original size is different only for start humongous regions. They get
+  // their _end set up to be the end of the last continues region of the
+  // corresponding humongous object.
+  bool is_in_reserved_raw(const void* p) const {
+    return _bottom <= p && p < _orig_end;
+  }
+
   // Makes the current region be a "starts humongous" region, i.e.,
   // the first region in a series of one or more contiguous regions
   // that will contain a single "humongous" object. The two parameters