< prev index next >
src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp
Print this page
rev 13105 : imported patch 8181917-refactor-ul-logstream-alt1-callsite-changes
*** 53,62 ****
--- 53,63 ----
#include "gc/shared/isGCActiveMark.hpp"
#include "gc/shared/referencePolicy.hpp"
#include "gc/shared/strongRootsScope.hpp"
#include "gc/shared/taskqueue.inline.hpp"
#include "logging/log.hpp"
+ #include "logging/logStream.hpp"
#include "memory/allocation.hpp"
#include "memory/iterator.inline.hpp"
#include "memory/padded.hpp"
#include "memory/resourceArea.hpp"
#include "oops/oop.inline.hpp"
*** 692,703 ****
// At a promotion failure dump information on block layout in heap
// (cms old generation).
void ConcurrentMarkSweepGeneration::promotion_failure_occurred() {
Log(gc, promotion) log;
if (log.is_trace()) {
! ResourceMark rm;
! cmsSpace()->dump_at_safepoint_with_locks(collector(), log.trace_stream());
}
}
void ConcurrentMarkSweepGeneration::reset_after_compaction() {
// Clear the promotion information. These pointers can be adjusted
--- 693,704 ----
// At a promotion failure dump information on block layout in heap
// (cms old generation).
void ConcurrentMarkSweepGeneration::promotion_failure_occurred() {
Log(gc, promotion) log;
if (log.is_trace()) {
! LogStream ls(log.trace());
! cmsSpace()->dump_at_safepoint_with_locks(collector(), &ls);
}
}
void ConcurrentMarkSweepGeneration::reset_after_compaction() {
// Clear the promotion information. These pointers can be adjusted
*** 2244,2254 ****
bool do_bit(size_t offset) {
HeapWord* addr = _marks->offsetToHeapWord(offset);
if (!_marks->isMarked(addr)) {
Log(gc, verify) log;
ResourceMark rm;
! oop(addr)->print_on(log.error_stream());
log.error(" (" INTPTR_FORMAT " should have been marked)", p2i(addr));
_failed = true;
}
return true;
}
--- 2245,2257 ----
bool do_bit(size_t offset) {
HeapWord* addr = _marks->offsetToHeapWord(offset);
if (!_marks->isMarked(addr)) {
Log(gc, verify) log;
ResourceMark rm;
! // Unconditional write?
! LogStream ls(log.error());
! oop(addr)->print_on(&ls);
log.error(" (" INTPTR_FORMAT " should have been marked)", p2i(addr));
_failed = true;
}
return true;
}
*** 2369,2379 ****
verification_mark_bm()->iterate(&vcl);
if (vcl.failed()) {
Log(gc, verify) log;
log.error("Failed marking verification after remark");
ResourceMark rm;
! gch->print_on(log.error_stream());
fatal("CMS: failed marking verification after remark");
}
}
class VerifyKlassOopsKlassClosure : public KlassClosure {
--- 2372,2384 ----
verification_mark_bm()->iterate(&vcl);
if (vcl.failed()) {
Log(gc, verify) log;
log.error("Failed marking verification after remark");
ResourceMark rm;
! // Unconditional write?
! LogStream ls(log.error());
! gch->print_on(&ls);
fatal("CMS: failed marking verification after remark");
}
}
class VerifyKlassOopsKlassClosure : public KlassClosure {
*** 5877,5887 ****
if (_span.contains(addr)) {
_verification_bm->mark(addr);
if (!_cms_bm->isMarked(addr)) {
Log(gc, verify) log;
ResourceMark rm;
! oop(addr)->print_on(log.error_stream());
log.error(" (" INTPTR_FORMAT " should have been marked)", p2i(addr));
fatal("... aborting");
}
}
}
--- 5882,5894 ----
if (_span.contains(addr)) {
_verification_bm->mark(addr);
if (!_cms_bm->isMarked(addr)) {
Log(gc, verify) log;
ResourceMark rm;
! // Unconditional write?
! LogStream ls(log.error());
! oop(addr)->print_on(&ls);
log.error(" (" INTPTR_FORMAT " should have been marked)", p2i(addr));
fatal("... aborting");
}
}
}
*** 6662,6672 ****
// Oop lies in _span and isn't yet grey or black
_verification_bm->mark(addr); // now grey
if (!_cms_bm->isMarked(addr)) {
Log(gc, verify) log;
ResourceMark rm;
! oop(addr)->print_on(log.error_stream());
log.error(" (" INTPTR_FORMAT " should have been marked)", p2i(addr));
fatal("... aborting");
}
if (!_mark_stack->push(obj)) { // stack overflow
--- 6669,6681 ----
// Oop lies in _span and isn't yet grey or black
_verification_bm->mark(addr); // now grey
if (!_cms_bm->isMarked(addr)) {
Log(gc, verify) log;
ResourceMark rm;
! // Unconditional write?
! LogStream ls(log.error());
! oop(addr)->print_on(&ls);
log.error(" (" INTPTR_FORMAT " should have been marked)", p2i(addr));
fatal("... aborting");
}
if (!_mark_stack->push(obj)) { // stack overflow
*** 7070,7080 ****
"sweep _limit out of bounds");
if (inFreeRange()) {
Log(gc, sweep) log;
log.error("inFreeRange() should have been reset; dumping state of SweepClosure");
ResourceMark rm;
! print_on(log.error_stream());
ShouldNotReachHere();
}
if (log_is_enabled(Debug, gc, sweep)) {
log_debug(gc, sweep)("Collected " SIZE_FORMAT " objects, " SIZE_FORMAT " bytes",
--- 7079,7091 ----
"sweep _limit out of bounds");
if (inFreeRange()) {
Log(gc, sweep) log;
log.error("inFreeRange() should have been reset; dumping state of SweepClosure");
ResourceMark rm;
! // Unconditional write?
! LogStream ls(log.error());
! print_on(&ls);
ShouldNotReachHere();
}
if (log_is_enabled(Debug, gc, sweep)) {
log_debug(gc, sweep)("Collected " SIZE_FORMAT " objects, " SIZE_FORMAT " bytes",
< prev index next >