< prev index next >
src/share/vm/gc/cms/parOopClosures.inline.hpp
Print this page
rev 13265 : imported patch 8181917-refactor-ul-logstream
*** 29,38 ****
--- 29,39 ----
#include "gc/cms/parOopClosures.hpp"
#include "gc/shared/cardTableRS.hpp"
#include "gc/shared/genCollectedHeap.hpp"
#include "gc/shared/genOopClosures.inline.hpp"
#include "logging/log.hpp"
+ #include "logging/logStream.hpp"
template <class T> inline void ParScanWeakRefClosure::do_oop_work(T* p) {
assert (!oopDesc::is_null(*p), "null weak reference?");
oop obj = oopDesc::load_decode_heap_oop_not_null(p);
// weak references are sometimes scanned twice; must check
*** 88,102 ****
Space* sp = gch->space_containing(p);
oop obj = oop(sp->block_start(p));
assert((HeapWord*)obj < (HeapWord*)p, "Error");
log.error("Object: " PTR_FORMAT, p2i((void *)obj));
log.error("-------");
! obj->print_on(log.error_stream());
log.error("-----");
log.error("Heap:");
log.error("-----");
! gch->print_on(log.error_stream());
ShouldNotReachHere();
}
#endif
// OK, we need to ensure that it is copied.
// We read the klass and mark in this order, so that we can reliably
--- 89,104 ----
Space* sp = gch->space_containing(p);
oop obj = oop(sp->block_start(p));
assert((HeapWord*)obj < (HeapWord*)p, "Error");
log.error("Object: " PTR_FORMAT, p2i((void *)obj));
log.error("-------");
! LogStream ls(log.error());
! obj->print_on(&ls);
log.error("-----");
log.error("Heap:");
log.error("-----");
! gch->print_on(&ls);
ShouldNotReachHere();
}
#endif
// OK, we need to ensure that it is copied.
// We read the klass and mark in this order, so that we can reliably
< prev index next >