8193184: NMT: Report array class count in NMT summary

Report array class and instance class count in NMT summary report

Reviewed-by: coleenp, minqi
This commit is contained in:
Zhengyu Gu 2018-02-06 08:24:36 -05:00
parent 48f208f193
commit 41ace19206
12 changed files with 192 additions and 31 deletions

View file

@ -80,6 +80,9 @@ class ClassLoaderDataGraph : public AllStatic {
// allocations until class unloading
static bool _metaspace_oom;
static volatile size_t _num_instance_classes;
static volatile size_t _num_array_classes;
static ClassLoaderData* add(Handle class_loader, bool anonymous, TRAPS);
static void post_class_unload_events();
public:
@ -154,6 +157,15 @@ class ClassLoaderDataGraph : public AllStatic {
static void print_creation(outputStream* out, Handle loader, ClassLoaderData* cld, TRAPS);
static bool unload_list_contains(const void* x);
// instance and array class counters
static inline size_t num_instance_classes();
static inline size_t num_array_classes();
static inline void inc_instance_classes(size_t count);
static inline void dec_instance_classes(size_t count);
static inline void inc_array_classes(size_t count);
static inline void dec_array_classes(size_t count);
#ifndef PRODUCT
static bool contains_loader_data(ClassLoaderData* loader_data);
#endif