< prev index next >

src/hotspot/share/classfile/classLoaderData.cpp

Print this page

        

*** 638,649 **** if (k->is_array_klass()) { _array_class_released ++; } else { assert(k->is_instance_klass(), "Must be"); _instance_class_released ++; - InstanceKlass::release_C_heap_structures(InstanceKlass::cast(k)); } } }; ClassLoaderData::~ClassLoaderData() { // Release C heap structures for all the classes. --- 638,649 ---- if (k->is_array_klass()) { _array_class_released ++; } else { assert(k->is_instance_klass(), "Must be"); _instance_class_released ++; } + k->release_C_heap_structures(); } }; ClassLoaderData::~ClassLoaderData() { // Release C heap structures for all the classes.
*** 867,877 **** if (m->is_constantPool()) { ((ConstantPool*)m)->release_C_heap_structures(); } else if (m->is_klass()) { InstanceKlass* ik = (InstanceKlass*)m; // also releases ik->constants() C heap memory ! InstanceKlass::release_C_heap_structures(ik); // Remove the class so unloading events aren't triggered for // this class (scratch or error class) in do_unloading(). remove_class(ik); } } --- 867,877 ---- if (m->is_constantPool()) { ((ConstantPool*)m)->release_C_heap_structures(); } else if (m->is_klass()) { InstanceKlass* ik = (InstanceKlass*)m; // also releases ik->constants() C heap memory ! ik->release_C_heap_structures(); // Remove the class so unloading events aren't triggered for // this class (scratch or error class) in do_unloading(). remove_class(ik); } }
< prev index next >