hotspot/src/share/vm/runtime/thread.cpp
changeset 222 3d1795325749
parent 1 489c9b5090e2
child 225 6258c2e3adfd
equal deleted inserted replaced
221:ec745a0fe922 222:3d1795325749
  1315 
  1315 
  1316   // All Java related clean up happens in exit
  1316   // All Java related clean up happens in exit
  1317   ThreadSafepointState::destroy(this);
  1317   ThreadSafepointState::destroy(this);
  1318   if (_thread_profiler != NULL) delete _thread_profiler;
  1318   if (_thread_profiler != NULL) delete _thread_profiler;
  1319   if (_thread_stat != NULL) delete _thread_stat;
  1319   if (_thread_stat != NULL) delete _thread_stat;
  1320 
       
  1321   if (jvmti_thread_state() != NULL) {
       
  1322     JvmtiExport::cleanup_thread(this);
       
  1323   }
       
  1324 }
  1320 }
  1325 
  1321 
  1326 
  1322 
  1327 // The first routine called by a new Java thread
  1323 // The first routine called by a new Java thread
  1328 void JavaThread::run() {
  1324 void JavaThread::run() {
  1569 
  1565 
  1570   if (UseTLAB) {
  1566   if (UseTLAB) {
  1571     tlab().make_parsable(true);  // retire TLAB
  1567     tlab().make_parsable(true);  // retire TLAB
  1572   }
  1568   }
  1573 
  1569 
       
  1570   if (jvmti_thread_state() != NULL) {
       
  1571     JvmtiExport::cleanup_thread(this);
       
  1572   }
       
  1573 
  1574   // Remove from list of active threads list, and notify VM thread if we are the last non-daemon thread
  1574   // Remove from list of active threads list, and notify VM thread if we are the last non-daemon thread
  1575   Threads::remove(this);
  1575   Threads::remove(this);
  1576 }
  1576 }
  1577 
  1577 
  1578 void JavaThread::cleanup_failed_attach_current_thread() {
  1578 void JavaThread::cleanup_failed_attach_current_thread() {