< prev index next >
src/hotspot/share/gc/g1/g1HeapVerifier.cpp
Print this page
@@ -190,10 +190,11 @@
void do_oop(narrowOop *p) { do_oop_work(p); }
void do_oop( oop *p) { do_oop_work(p); }
template <class T> void do_oop_work(T *p) {
oop obj = RawAccess<>::oop_load(p);
+ assert_object_is_in_heap_or_null(p, obj);
guarantee(obj == NULL || !_g1h->is_obj_dead_cond(obj, _vo),
"Dead object referenced by a not dead object");
}
};
@@ -244,10 +245,11 @@
void do_oop(narrowOop *p) { do_oop_work(p); }
void do_oop( oop *p) { do_oop_work(p); }
template <class T> void do_oop_work(T *p) {
oop obj = RawAccess<>::oop_load(p);
+ assert_object_is_in_heap_or_null(p, obj);
if (_hr->is_open_archive()) {
guarantee(obj == NULL || G1ArchiveAllocator::is_archived_object(obj),
"Archive object at " PTR_FORMAT " references a non-archive object at " PTR_FORMAT,
p2i(p), p2i(obj));
< prev index next >