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 }; |