src/share/vm/gc_implementation/shared/gcHeapSummary.hpp

changeset 9931
fd44df5e3bc3
parent 6876
710a3c8b516e
parent 9861
a248d0be1309
equal deleted inserted replaced
9855:274a1ea904c8 9931:fd44df5e3bc3
76 size_t reserved() const { return _reserved; } 76 size_t reserved() const { return _reserved; }
77 }; 77 };
78 78
79 class GCHeapSummary; 79 class GCHeapSummary;
80 class PSHeapSummary; 80 class PSHeapSummary;
81 class G1HeapSummary;
81 82
82 class GCHeapSummaryVisitor { 83 class GCHeapSummaryVisitor {
83 public: 84 public:
84 virtual void visit(const GCHeapSummary* heap_summary) const = 0; 85 virtual void visit(const GCHeapSummary* heap_summary) const = 0;
85 virtual void visit(const PSHeapSummary* heap_summary) const {} 86 virtual void visit(const PSHeapSummary* heap_summary) const {}
87 virtual void visit(const G1HeapSummary* heap_summary) const {}
86 }; 88 };
87 89
88 class GCHeapSummary : public StackObj { 90 class GCHeapSummary : public StackObj {
89 VirtualSpaceSummary _heap; 91 VirtualSpaceSummary _heap;
90 size_t _used; 92 size_t _used;
117 const SpaceSummary& old_space() const { return _old_space; } 119 const SpaceSummary& old_space() const { return _old_space; }
118 const VirtualSpaceSummary& young() const { return _young; } 120 const VirtualSpaceSummary& young() const { return _young; }
119 const SpaceSummary& eden() const { return _eden; } 121 const SpaceSummary& eden() const { return _eden; }
120 const SpaceSummary& from() const { return _from; } 122 const SpaceSummary& from() const { return _from; }
121 const SpaceSummary& to() const { return _to; } 123 const SpaceSummary& to() const { return _to; }
124
125 virtual void accept(GCHeapSummaryVisitor* visitor) const {
126 visitor->visit(this);
127 }
128 };
129
130 class G1HeapSummary : public GCHeapSummary {
131 size_t _edenUsed;
132 size_t _edenCapacity;
133 size_t _survivorUsed;
134 uint _numberOfRegions;
135 public:
136 G1HeapSummary(VirtualSpaceSummary& heap_space, size_t heap_used, size_t edenUsed, size_t edenCapacity, size_t survivorUsed, uint numberOfRegions) :
137 GCHeapSummary(heap_space, heap_used), _edenUsed(edenUsed), _edenCapacity(edenCapacity), _survivorUsed(survivorUsed), _numberOfRegions(numberOfRegions) { }
138 const size_t edenUsed() const { return _edenUsed; }
139 const size_t edenCapacity() const { return _edenCapacity; }
140 const size_t survivorUsed() const { return _survivorUsed; }
141 const uint numberOfRegions() const { return _numberOfRegions; }
122 142
123 virtual void accept(GCHeapSummaryVisitor* visitor) const { 143 virtual void accept(GCHeapSummaryVisitor* visitor) const {
124 visitor->visit(this); 144 visitor->visit(this);
125 } 145 }
126 }; 146 };

mercurial