24 |
24 |
25 #ifndef SHARE_VM_GC_IMPLEMENTATION_SHARED_GCHEAPSUMMARY_HPP |
25 #ifndef SHARE_VM_GC_IMPLEMENTATION_SHARED_GCHEAPSUMMARY_HPP |
26 #define SHARE_VM_GC_IMPLEMENTATION_SHARED_GCHEAPSUMMARY_HPP |
26 #define SHARE_VM_GC_IMPLEMENTATION_SHARED_GCHEAPSUMMARY_HPP |
27 |
27 |
28 #include "memory/allocation.hpp" |
28 #include "memory/allocation.hpp" |
|
29 #include "memory/metaspaceChunkFreeListSummary.hpp" |
29 |
30 |
30 class VirtualSpaceSummary : public StackObj { |
31 class VirtualSpaceSummary : public StackObj { |
31 HeapWord* _start; |
32 HeapWord* _start; |
32 HeapWord* _committed_end; |
33 HeapWord* _committed_end; |
33 HeapWord* _reserved_end; |
34 HeapWord* _reserved_end; |
127 class MetaspaceSummary : public StackObj { |
128 class MetaspaceSummary : public StackObj { |
128 size_t _capacity_until_GC; |
129 size_t _capacity_until_GC; |
129 MetaspaceSizes _meta_space; |
130 MetaspaceSizes _meta_space; |
130 MetaspaceSizes _data_space; |
131 MetaspaceSizes _data_space; |
131 MetaspaceSizes _class_space; |
132 MetaspaceSizes _class_space; |
|
133 MetaspaceChunkFreeListSummary _metaspace_chunk_free_list_summary; |
|
134 MetaspaceChunkFreeListSummary _class_chunk_free_list_summary; |
132 |
135 |
133 public: |
136 public: |
134 MetaspaceSummary() : _capacity_until_GC(0), _meta_space(), _data_space(), _class_space() {} |
137 MetaspaceSummary() : |
135 MetaspaceSummary(size_t capacity_until_GC, const MetaspaceSizes& meta_space, const MetaspaceSizes& data_space, const MetaspaceSizes& class_space) : |
138 _capacity_until_GC(0), |
136 _capacity_until_GC(capacity_until_GC), _meta_space(meta_space), _data_space(data_space), _class_space(class_space) { } |
139 _meta_space(), |
|
140 _data_space(), |
|
141 _class_space(), |
|
142 _metaspace_chunk_free_list_summary(), |
|
143 _class_chunk_free_list_summary() |
|
144 {} |
|
145 MetaspaceSummary(size_t capacity_until_GC, |
|
146 const MetaspaceSizes& meta_space, |
|
147 const MetaspaceSizes& data_space, |
|
148 const MetaspaceSizes& class_space, |
|
149 const MetaspaceChunkFreeListSummary& metaspace_chunk_free_list_summary, |
|
150 const MetaspaceChunkFreeListSummary& class_chunk_free_list_summary) : |
|
151 _capacity_until_GC(capacity_until_GC), |
|
152 _meta_space(meta_space), |
|
153 _data_space(data_space), |
|
154 _class_space(class_space), |
|
155 _metaspace_chunk_free_list_summary(metaspace_chunk_free_list_summary), |
|
156 _class_chunk_free_list_summary(class_chunk_free_list_summary) |
|
157 {} |
137 |
158 |
138 size_t capacity_until_GC() const { return _capacity_until_GC; } |
159 size_t capacity_until_GC() const { return _capacity_until_GC; } |
139 const MetaspaceSizes& meta_space() const { return _meta_space; } |
160 const MetaspaceSizes& meta_space() const { return _meta_space; } |
140 const MetaspaceSizes& data_space() const { return _data_space; } |
161 const MetaspaceSizes& data_space() const { return _data_space; } |
141 const MetaspaceSizes& class_space() const { return _class_space; } |
162 const MetaspaceSizes& class_space() const { return _class_space; } |
|
163 |
|
164 const MetaspaceChunkFreeListSummary& metaspace_chunk_free_list_summary() const { |
|
165 return _metaspace_chunk_free_list_summary; |
|
166 } |
|
167 |
|
168 const MetaspaceChunkFreeListSummary& class_chunk_free_list_summary() const { |
|
169 return _class_chunk_free_list_summary; |
|
170 } |
|
171 |
142 }; |
172 }; |
143 |
173 |
144 #endif // SHARE_VM_GC_IMPLEMENTATION_SHARED_GCHEAPSUMMARY_HPP |
174 #endif // SHARE_VM_GC_IMPLEMENTATION_SHARED_GCHEAPSUMMARY_HPP |