hotspot/src/share/vm/runtime/thread.cpp
changeset 9942 2e86734ba620
parent 9437 9981851b4b8c
child 9946 b3d5b50e2289
equal deleted inserted replaced
9941:f2365fbd62f4 9942:2e86734ba620
  2940   _log   = NULL;
  2940   _log   = NULL;
  2941   _task  = NULL;
  2941   _task  = NULL;
  2942   _queue = queue;
  2942   _queue = queue;
  2943   _counters = counters;
  2943   _counters = counters;
  2944   _buffer_blob = NULL;
  2944   _buffer_blob = NULL;
       
  2945   _scanned_nmethod = NULL;
  2945 
  2946 
  2946 #ifndef PRODUCT
  2947 #ifndef PRODUCT
  2947   _ideal_graph_printer = NULL;
  2948   _ideal_graph_printer = NULL;
  2948 #endif
  2949 #endif
  2949 }
  2950 }
  2950 
  2951 
       
  2952 void CompilerThread::oops_do(OopClosure* f, CodeBlobClosure* cf) {
       
  2953   JavaThread::oops_do(f, cf);
       
  2954   if (_scanned_nmethod != NULL && cf != NULL) {
       
  2955     // Safepoints can occur when the sweeper is scanning an nmethod so
       
  2956     // process it here to make sure it isn't unloaded in the middle of
       
  2957     // a scan.
       
  2958     cf->do_code_blob(_scanned_nmethod);
       
  2959   }
       
  2960 }
  2951 
  2961 
  2952 // ======= Threads ========
  2962 // ======= Threads ========
  2953 
  2963 
  2954 // The Threads class links together all active threads, and provides
  2964 // The Threads class links together all active threads, and provides
  2955 // operations over all threads.  It is protected by its own Mutex
  2965 // operations over all threads.  It is protected by its own Mutex