src/share/vm/oops/instanceKlass.cpp

changeset 4400
ecd24264898b
parent 4299
f34d701e952e
child 4401
37a3e8b7a1e9
     1.1 --- a/src/share/vm/oops/instanceKlass.cpp	Fri Dec 07 10:55:16 2012 -0800
     1.2 +++ b/src/share/vm/oops/instanceKlass.cpp	Tue Jan 08 14:04:25 2013 -0500
     1.3 @@ -160,6 +160,8 @@
     1.4  
     1.5  #endif //  ndef DTRACE_ENABLED
     1.6  
     1.7 +volatile int InstanceKlass::_total_instanceKlass_count = 0;
     1.8 +
     1.9  Klass* InstanceKlass::allocate_instance_klass(ClassLoaderData* loader_data,
    1.10                                                  int vtable_len,
    1.11                                                  int itable_len,
    1.12 @@ -203,6 +205,7 @@
    1.13          access_flags, !host_klass.is_null());
    1.14    }
    1.15  
    1.16 +  Atomic::inc(&_total_instanceKlass_count);
    1.17    return ik;
    1.18  }
    1.19  
    1.20 @@ -2306,6 +2309,9 @@
    1.21    if (_array_name != NULL)  _array_name->decrement_refcount();
    1.22    if (_source_file_name != NULL) _source_file_name->decrement_refcount();
    1.23    if (_source_debug_extension != NULL) FREE_C_HEAP_ARRAY(char, _source_debug_extension, mtClass);
    1.24 +
    1.25 +  assert(_total_instanceKlass_count >= 1, "Sanity check");
    1.26 +  Atomic::dec(&_total_instanceKlass_count);
    1.27  }
    1.28  
    1.29  void InstanceKlass::set_source_file_name(Symbol* n) {

mercurial