Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp @ 615:c6c601a0f2d6
6797870: Add -XX:+{HeapDump,PrintClassHistogram}{Before,After}FullGC
Summary: Call newly created CollectedHeap::dump_{pre,post}_full_gc before and after every stop-world full collection cycle on GenCollectedHeap and ParallelScavengeHeap. (Support for G1CollectedHeap forthcoming under CR 6810861.) Small modifications to existing heap dumping and class histogram implementation, especially to allow multiple on-the-fly histos/dumps by the VM thread during a single safepoint.
Reviewed-by: jmasa, alanb, mchung
author | ysr |
---|---|
date | Mon, 02 Mar 2009 16:37:04 -0800 |
parents | 05c6d52fa7a9 |
children | 7bb995fbd3c0 |
comparison
equal
deleted
inserted
replaced
598:1fa16c3565be | 615:c6c601a0f2d6 |
---|---|
1980 if (ZapUnusedHeapArea) { | 1980 if (ZapUnusedHeapArea) { |
1981 // Save information needed to minimize mangling | 1981 // Save information needed to minimize mangling |
1982 heap->record_gen_tops_before_GC(); | 1982 heap->record_gen_tops_before_GC(); |
1983 } | 1983 } |
1984 | 1984 |
1985 heap->pre_full_gc_dump(); | |
1986 | |
1985 _print_phases = PrintGCDetails && PrintParallelOldGCPhaseTimes; | 1987 _print_phases = PrintGCDetails && PrintParallelOldGCPhaseTimes; |
1986 | 1988 |
1987 // Make sure data structures are sane, make the heap parsable, and do other | 1989 // Make sure data structures are sane, make the heap parsable, and do other |
1988 // miscellaneous bookkeeping. | 1990 // miscellaneous bookkeeping. |
1989 PreGCValues pre_gc_values; | 1991 PreGCValues pre_gc_values; |
2201 INT64_FORMAT, | 2203 INT64_FORMAT, |
2202 marking_start.ticks(), compaction_start.ticks(), | 2204 marking_start.ticks(), compaction_start.ticks(), |
2203 collection_exit.ticks()); | 2205 collection_exit.ticks()); |
2204 gc_task_manager()->print_task_time_stamps(); | 2206 gc_task_manager()->print_task_time_stamps(); |
2205 } | 2207 } |
2208 | |
2209 heap->post_full_gc_dump(); | |
2206 | 2210 |
2207 #ifdef TRACESPINNING | 2211 #ifdef TRACESPINNING |
2208 ParallelTaskTerminator::print_termination_counts(); | 2212 ParallelTaskTerminator::print_termination_counts(); |
2209 #endif | 2213 #endif |
2210 } | 2214 } |