hotspot/src/share/vm/prims/jvmtiExport.cpp
changeset 7897 201a8b00ec91
parent 7896 08aadd7aa3ee
child 7918 ce1e4ae77aea
equal deleted inserted replaced
7896:08aadd7aa3ee 7897:201a8b00ec91
  2251 
  2251 
  2252 ////////////////////////////////////////////////////////////////////////////////////////////////
  2252 ////////////////////////////////////////////////////////////////////////////////////////////////
  2253 
  2253 
  2254 void JvmtiExport::cleanup_thread(JavaThread* thread) {
  2254 void JvmtiExport::cleanup_thread(JavaThread* thread) {
  2255   assert(JavaThread::current() == thread, "thread is not current");
  2255   assert(JavaThread::current() == thread, "thread is not current");
  2256 
  2256   MutexLocker mu(JvmtiThreadState_lock);
  2257 
  2257 
  2258   // This has to happen after the thread state is removed, which is
  2258   if (thread->jvmti_thread_state() != NULL) {
  2259   // why it is not in post_thread_end_event like its complement
  2259     // This has to happen after the thread state is removed, which is
  2260   // Maybe both these functions should be rolled into the posts?
  2260     // why it is not in post_thread_end_event like its complement
  2261   JvmtiEventController::thread_ended(thread);
  2261     // Maybe both these functions should be rolled into the posts?
       
  2262     JvmtiEventController::thread_ended(thread);
       
  2263   }
  2262 }
  2264 }
  2263 
  2265 
  2264 void JvmtiExport::oops_do(OopClosure* f) {
  2266 void JvmtiExport::oops_do(OopClosure* f) {
  2265   JvmtiCurrentBreakpoints::oops_do(f);
  2267   JvmtiCurrentBreakpoints::oops_do(f);
  2266   JvmtiVMObjectAllocEventCollector::oops_do_for_all_threads(f);
  2268   JvmtiVMObjectAllocEventCollector::oops_do_for_all_threads(f);