< prev index next >

src/share/vm/classfile/classLoaderData.cpp

Print this page

        

*** 757,774 **** } } return metaspace; } ! jobject ClassLoaderData::add_handle(Handle h) { MutexLockerEx ml(metaspace_lock(), Mutex::_no_safepoint_check_flag); ! return (jobject) _handles.add(h()); } ! void ClassLoaderData::remove_handle_unsafe(jobject h) { ! assert(_handles.contains((oop*) h), "Got unexpected handle " PTR_FORMAT, p2i((oop*) h)); ! *((oop*) h) = NULL; } // Add this metadata pointer to be freed when it's safe. This is only during // class unloading because Handles might point to this metadata field. void ClassLoaderData::add_to_deallocate_list(Metadata* m) { --- 757,775 ---- } } return metaspace; } ! OopHandle ClassLoaderData::add_handle(Handle h) { MutexLockerEx ml(metaspace_lock(), Mutex::_no_safepoint_check_flag); ! return OopHandle(_handles.add(h())); } ! void ClassLoaderData::remove_handle_unsafe(OopHandle h) { ! oop* obj = h.ptr(); ! assert(_handles.contains(obj), "Got unexpected handle " PTR_FORMAT, p2i(obj)); ! *(obj) = NULL; } // Add this metadata pointer to be freed when it's safe. This is only during // class unloading because Handles might point to this metadata field. void ClassLoaderData::add_to_deallocate_list(Metadata* m) {
< prev index next >