comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 1019:035d2e036a9b

6885041: G1: inconsistent thread dump Summary: When G1 is enabled, thread dumps are inconsistent as the info for some of the G1 threads is not formatted properly. Reviewed-by: ysr, johnc
author tonyp
date Fri, 02 Oct 2009 16:12:07 -0400
parents 54b3b351d6f9
children ff2402f6a50b
comparison
equal deleted inserted replaced
1018:8afee153274a 1019:035d2e036a9b
2381 void G1CollectedHeap::print_on_extended(outputStream* st) const { 2381 void G1CollectedHeap::print_on_extended(outputStream* st) const {
2382 PrintRegionClosure blk(st); 2382 PrintRegionClosure blk(st);
2383 _hrs->iterate(&blk); 2383 _hrs->iterate(&blk);
2384 } 2384 }
2385 2385
2386 class PrintOnThreadsClosure : public ThreadClosure {
2387 outputStream* _st;
2388 public:
2389 PrintOnThreadsClosure(outputStream* st) : _st(st) { }
2390 virtual void do_thread(Thread *t) {
2391 t->print_on(_st);
2392 }
2393 };
2394
2395 void G1CollectedHeap::print_gc_threads_on(outputStream* st) const { 2386 void G1CollectedHeap::print_gc_threads_on(outputStream* st) const {
2396 if (ParallelGCThreads > 0) { 2387 if (ParallelGCThreads > 0) {
2397 workers()->print_worker_threads(); 2388 workers()->print_worker_threads_on(st);
2398 } 2389 }
2399 st->print("\"G1 concurrent mark GC Thread\" "); 2390
2400 _cmThread->print(); 2391 _cmThread->print_on(st);
2401 st->cr(); 2392 st->cr();
2402 st->print("\"G1 concurrent refinement GC Threads\" "); 2393
2403 PrintOnThreadsClosure p(st); 2394 _cm->print_worker_threads_on(st);
2404 _cg1r->threads_do(&p); 2395
2405 st->cr(); 2396 _cg1r->print_worker_threads_on(st);
2406 st->print("\"G1 zero-fill GC Thread\" "); 2397
2407 _czft->print_on(st); 2398 _czft->print_on(st);
2408 st->cr(); 2399 st->cr();
2409 } 2400 }
2410 2401
2411 void G1CollectedHeap::gc_threads_do(ThreadClosure* tc) const { 2402 void G1CollectedHeap::gc_threads_do(ThreadClosure* tc) const {