< prev index next >
src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp
Print this page
rev 13180 : imported patch 8181917-refactor-ul-logstream
@@ -53,10 +53,11 @@
#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,12 +693,12 @@
// 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());
+ 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,11 +2245,13 @@
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());
+ // 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,11 +2372,13 @@
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());
+ // Unconditional write?
+ LogStream ls(log.error());
+ gch->print_on(&ls);
fatal("CMS: failed marking verification after remark");
}
}
class VerifyKlassOopsKlassClosure : public KlassClosure {
@@ -5877,11 +5882,13 @@
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());
+ // Unconditional write?
+ LogStream ls(log.error());
+ oop(addr)->print_on(&ls);
log.error(" (" INTPTR_FORMAT " should have been marked)", p2i(addr));
fatal("... aborting");
}
}
}
@@ -6662,11 +6669,13 @@
// 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());
+ // 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,11 +7079,13 @@
"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());
+ // 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 >