8196924: [BACKOUT] NMT: Report array class count in NMT summary

Reviewed-by: dholmes
This commit is contained in:
Jesper Wilhelmsson 2018-02-07 03:43:29 +01:00
parent 41ace19206
commit dd416bbf33
12 changed files with 31 additions and 192 deletions

View file

@ -124,6 +124,8 @@
#endif // ndef DTRACE_ENABLED
volatile int InstanceKlass::_total_instanceKlass_count = 0;
static inline bool is_class_loader(const Symbol* class_name,
const ClassFileParser& parser) {
assert(class_name != NULL, "invariant");
@ -191,6 +193,8 @@ InstanceKlass* InstanceKlass::allocate_instance_klass(const ClassFileParser& par
// Add all classes to our internal class loader list here,
// including classes in the bootstrap (NULL) class loader.
loader_data->add_class(ik, publicize);
Atomic::inc(&_total_instanceKlass_count);
return ik;
}
@ -2237,6 +2241,9 @@ void InstanceKlass::release_C_heap_structures() {
// class can't be referenced anymore).
if (_array_name != NULL) _array_name->decrement_refcount();
if (_source_debug_extension != NULL) FREE_C_HEAP_ARRAY(char, _source_debug_extension);
assert(_total_instanceKlass_count >= 1, "Sanity check");
Atomic::dec(&_total_instanceKlass_count);
}
void InstanceKlass::set_source_debug_extension(const char* array, int length) {