equal
deleted
inserted
replaced
2495 event.set_definingClassLoader(ik->class_loader_data()); |
2495 event.set_definingClassLoader(ik->class_loader_data()); |
2496 event.commit(); |
2496 event.commit(); |
2497 #endif |
2497 #endif |
2498 } |
2498 } |
2499 |
2499 |
|
2500 static void method_release_C_heap_structures(Method* m) { |
|
2501 m->release_C_heap_structures(); |
|
2502 } |
|
2503 |
2500 void InstanceKlass::release_C_heap_structures(InstanceKlass* ik) { |
2504 void InstanceKlass::release_C_heap_structures(InstanceKlass* ik) { |
2501 // Clean up C heap |
2505 // Clean up C heap |
2502 ik->release_C_heap_structures(); |
2506 ik->release_C_heap_structures(); |
2503 ik->constants()->release_C_heap_structures(); |
2507 ik->constants()->release_C_heap_structures(); |
|
2508 |
|
2509 // Deallocate and call destructors for MDO mutexes |
|
2510 ik->methods_do(method_release_C_heap_structures); |
|
2511 |
2504 } |
2512 } |
2505 |
2513 |
2506 void InstanceKlass::release_C_heap_structures() { |
2514 void InstanceKlass::release_C_heap_structures() { |
2507 // Can't release the constant pool here because the constant pool can be |
2515 // Can't release the constant pool here because the constant pool can be |
2508 // deallocated separately from the InstanceKlass for default methods and |
2516 // deallocated separately from the InstanceKlass for default methods and |