hotspot/src/share/vm/gc/g1/heapRegion.inline.hpp
changeset 46810 7dad333205cd
parent 46750 bcab0128a16f
child 46968 9119841280f4
--- a/hotspot/src/share/vm/gc/g1/heapRegion.inline.hpp	Mon Aug 14 16:48:44 2017 +0200
+++ b/hotspot/src/share/vm/gc/g1/heapRegion.inline.hpp	Mon Aug 14 14:32:17 2017 -0400
@@ -117,7 +117,8 @@
   HeapWord* addr = (HeapWord*) obj;
 
   assert(addr < top(), "must be");
-  assert(!is_archive(), "Archive regions should not have references into interesting regions.");
+  assert(!is_closed_archive(),
+         "Closed archive regions should not have references into other regions");
   assert(!is_humongous(), "Humongous objects not handled here");
   bool obj_is_dead = is_obj_dead(obj, prev_bitmap);
 
@@ -162,7 +163,9 @@
 
 inline bool HeapRegion::is_obj_dead(const oop obj, const G1CMBitMap* const prev_bitmap) const {
   assert(is_in_reserved(obj), "Object " PTR_FORMAT " must be in region", p2i(obj));
-  return !obj_allocated_since_prev_marking(obj) && !prev_bitmap->is_marked((HeapWord*)obj);
+  return !obj_allocated_since_prev_marking(obj) &&
+         !prev_bitmap->is_marked((HeapWord*)obj) &&
+         !is_open_archive();
 }
 
 inline size_t HeapRegion::block_size(const HeapWord *addr) const {