196 MetaWord* expand_and_allocate(size_t size,
197 MetadataType mdtype);
198
199 static bool contains(const void *ptr);
200 void dump(outputStream* const out) const;
201
202 // Free empty virtualspaces
203 static void purge();
204
205 void print_on(outputStream* st) const;
206 // Debugging support
207 void verify();
208
209 class AllocRecordClosure : public StackObj {
210 public:
211 virtual void doit(address ptr, MetaspaceObj::Type type, int byte_size) = 0;
212 };
213
214 void iterate(AllocRecordClosure *closure);
215
216 // Return TRUE only if UseCompressedKlassPointers is True and DumpSharedSpaces is False.
217 static bool using_class_space() {
218 return NOT_LP64(false) LP64_ONLY(UseCompressedKlassPointers && !DumpSharedSpaces);
219 }
220
221 };
222
223 class MetaspaceAux : AllStatic {
224 static size_t free_chunks_total(Metaspace::MetadataType mdtype);
225
226 public:
227 // Statistics for class space and data space in metaspace.
228
229 // These methods iterate over the classloader data graph
230 // for the given Metaspace type. These are slow.
231 static size_t used_bytes_slow(Metaspace::MetadataType mdtype);
232 static size_t free_in_bytes(Metaspace::MetadataType mdtype);
233 static size_t capacity_bytes_slow(Metaspace::MetadataType mdtype);
234
235 // Iterates over the virtual space list.
236 static size_t reserved_in_bytes(Metaspace::MetadataType mdtype);
237
238 // Running sum of space in all Metachunks that has been
|
196 MetaWord* expand_and_allocate(size_t size,
197 MetadataType mdtype);
198
199 static bool contains(const void *ptr);
200 void dump(outputStream* const out) const;
201
202 // Free empty virtualspaces
203 static void purge();
204
205 void print_on(outputStream* st) const;
206 // Debugging support
207 void verify();
208
209 class AllocRecordClosure : public StackObj {
210 public:
211 virtual void doit(address ptr, MetaspaceObj::Type type, int byte_size) = 0;
212 };
213
214 void iterate(AllocRecordClosure *closure);
215
216 // Return TRUE only if UseCompressedClassPointers is True and DumpSharedSpaces is False.
217 static bool using_class_space() {
218 return NOT_LP64(false) LP64_ONLY(UseCompressedClassPointers && !DumpSharedSpaces);
219 }
220
221 };
222
223 class MetaspaceAux : AllStatic {
224 static size_t free_chunks_total(Metaspace::MetadataType mdtype);
225
226 public:
227 // Statistics for class space and data space in metaspace.
228
229 // These methods iterate over the classloader data graph
230 // for the given Metaspace type. These are slow.
231 static size_t used_bytes_slow(Metaspace::MetadataType mdtype);
232 static size_t free_in_bytes(Metaspace::MetadataType mdtype);
233 static size_t capacity_bytes_slow(Metaspace::MetadataType mdtype);
234
235 // Iterates over the virtual space list.
236 static size_t reserved_in_bytes(Metaspace::MetadataType mdtype);
237
238 // Running sum of space in all Metachunks that has been
|