comparison src/share/vm/gc_implementation/g1/heapRegion.hpp @ 4023:c6a6e936dc68

7096030: G1: PrintGCDetails enhancements 7102445: G1: Unnecessary Resource allocations during RSet scanning Summary: Add a new per-worker thread line in the PrintGCDetails output. GC Worker Other is the difference between the elapsed time for the parallel phase of the evacuation pause and the sum of the times of the sub-phases (external root scanning, mark stack scanning, RSet updating, RSet scanning, object copying, and termination) for that worker. During RSet scanning, stack allocate DirtyCardToOopClosure objects; allocating these in a resource area was causing abnormally high GC Worker Other times while the worker thread freed ResourceArea chunks. Reviewed-by: tonyp, jwilhelm, brutisso
author johnc
date Sun, 23 Oct 2011 23:06:06 -0700
parents 5e5d4821bf07
children 6071e0581859
comparison
equal deleted inserted replaced
4022:db89aa49298f 4023:c6a6e936dc68
575 575
576 // Apply "cl->do_oop" to (the addresses of) all reference fields in objects 576 // Apply "cl->do_oop" to (the addresses of) all reference fields in objects
577 // allocated in the current region before the last call to "save_mark". 577 // allocated in the current region before the last call to "save_mark".
578 void oop_before_save_marks_iterate(OopClosure* cl); 578 void oop_before_save_marks_iterate(OopClosure* cl);
579 579
580 DirtyCardToOopClosure*
581 new_dcto_closure(OopClosure* cl,
582 CardTableModRefBS::PrecisionStyle precision,
583 HeapRegionDCTOC::FilterKind fk);
584
585 // Note the start or end of marking. This tells the heap region 580 // Note the start or end of marking. This tells the heap region
586 // that the collector is about to start or has finished (concurrently) 581 // that the collector is about to start or has finished (concurrently)
587 // marking the heap. 582 // marking the heap.
588 583
589 // Note the start of a marking phase. Record the 584 // Note the start of a marking phase. Record the