comparison src/share/vm/gc_implementation/shared/vmGCOperations.hpp @ 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 d1605aabd0a1
children 0bfd3fb24150
comparison
equal deleted inserted replaced
598:1fa16c3565be 615:c6c601a0f2d6
110 110
111 class VM_GC_HeapInspection: public VM_GC_Operation { 111 class VM_GC_HeapInspection: public VM_GC_Operation {
112 private: 112 private:
113 outputStream* _out; 113 outputStream* _out;
114 bool _full_gc; 114 bool _full_gc;
115 bool _need_prologue;
115 public: 116 public:
116 VM_GC_HeapInspection(outputStream* out, bool request_full_gc) : 117 VM_GC_HeapInspection(outputStream* out, bool request_full_gc,
118 bool need_prologue) :
117 VM_GC_Operation(0 /* total collections, dummy, ignored */, 119 VM_GC_Operation(0 /* total collections, dummy, ignored */,
118 0 /* total full collections, dummy, ignored */, 120 0 /* total full collections, dummy, ignored */,
119 request_full_gc) { 121 request_full_gc) {
120 _out = out; 122 _out = out;
121 _full_gc = request_full_gc; 123 _full_gc = request_full_gc;
124 _need_prologue = need_prologue;
122 } 125 }
123 126
124 ~VM_GC_HeapInspection() {} 127 ~VM_GC_HeapInspection() {}
125 virtual VMOp_Type type() const { return VMOp_GC_HeapInspection; } 128 virtual VMOp_Type type() const { return VMOp_GC_HeapInspection; }
126 virtual bool skip_operation() const; 129 virtual bool skip_operation() const;