src/share/vm/classfile/classLoaderData.cpp

changeset 4981
d587a5c30bd8
parent 4903
ba42fd5e00e6
child 5025
d58c62b7447d
     1.1 --- a/src/share/vm/classfile/classLoaderData.cpp	Wed Apr 24 09:00:04 2013 -0400
     1.2 +++ b/src/share/vm/classfile/classLoaderData.cpp	Wed Apr 24 16:19:35 2013 -0400
     1.3 @@ -277,6 +277,9 @@
     1.4  void ClassLoaderData::unload() {
     1.5    _unloading = true;
     1.6  
     1.7 +  // Tell serviceability tools these classes are unloading
     1.8 +  classes_do(InstanceKlass::notify_unload_class);
     1.9 +
    1.10    if (TraceClassLoaderData) {
    1.11      ResourceMark rm;
    1.12      tty->print("[ClassLoaderData: unload loader data "PTR_FORMAT, this);
    1.13 @@ -300,6 +303,9 @@
    1.14  
    1.15  
    1.16  ClassLoaderData::~ClassLoaderData() {
    1.17 +  // Release C heap structures for all the classes.
    1.18 +  classes_do(InstanceKlass::release_C_heap_structures);
    1.19 +
    1.20    Metaspace *m = _metaspace;
    1.21    if (m != NULL) {
    1.22      _metaspace = NULL;

mercurial