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;