src/share/vm/classfile/classLoaderData.cpp

changeset 5025
d58c62b7447d
parent 5016
9d75bcd7c890
parent 4981
d587a5c30bd8
child 5237
f2110083203d
     1.1 --- a/src/share/vm/classfile/classLoaderData.cpp	Tue Apr 30 16:36:24 2013 +0200
     1.2 +++ b/src/share/vm/classfile/classLoaderData.cpp	Thu May 02 19:28:59 2013 +0200
     1.3 @@ -280,6 +280,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 @@ -303,6 +306,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