src/share/vm/runtime/vmThread.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8047290absolutely_final Sdiff src/share/vm/runtime

src/share/vm/runtime/vmThread.cpp

Print this page




 197 //------------------------------------------------------------------------------------------------------------------
 198 // Implementation of VMThread stuff
 199 
 200 bool                VMThread::_should_terminate   = false;
 201 bool              VMThread::_terminated         = false;
 202 Monitor*          VMThread::_terminate_lock     = NULL;
 203 VMThread*         VMThread::_vm_thread          = NULL;
 204 VM_Operation*     VMThread::_cur_vm_operation   = NULL;
 205 VMOperationQueue* VMThread::_vm_queue           = NULL;
 206 PerfCounter*      VMThread::_perf_accumulated_vm_operation_time = NULL;
 207 
 208 
 209 void VMThread::create() {
 210   assert(vm_thread() == NULL, "we can only allocate one VMThread");
 211   _vm_thread = new VMThread();
 212 
 213   // Create VM operation queue
 214   _vm_queue = new VMOperationQueue();
 215   guarantee(_vm_queue != NULL, "just checking");
 216 
 217   _terminate_lock = new Monitor(Mutex::safepoint, "VMThread::_terminate_lock", true);

 218 
 219   if (UsePerfData) {
 220     // jvmstat performance counters
 221     Thread* THREAD = Thread::current();
 222     _perf_accumulated_vm_operation_time =
 223                  PerfDataManager::create_counter(SUN_THREADS, "vmOperationTime",
 224                                                  PerfData::U_Ticks, CHECK);
 225   }
 226 }
 227 
 228 
 229 VMThread::VMThread() : NamedThread() {
 230   set_name("VM Thread");
 231 }
 232 
 233 void VMThread::destroy() {
 234   if (_vm_thread != NULL) {
 235     delete _vm_thread;
 236     _vm_thread = NULL;      // VM thread is gone
 237   }




 197 //------------------------------------------------------------------------------------------------------------------
 198 // Implementation of VMThread stuff
 199 
 200 bool                VMThread::_should_terminate   = false;
 201 bool              VMThread::_terminated         = false;
 202 Monitor*          VMThread::_terminate_lock     = NULL;
 203 VMThread*         VMThread::_vm_thread          = NULL;
 204 VM_Operation*     VMThread::_cur_vm_operation   = NULL;
 205 VMOperationQueue* VMThread::_vm_queue           = NULL;
 206 PerfCounter*      VMThread::_perf_accumulated_vm_operation_time = NULL;
 207 
 208 
 209 void VMThread::create() {
 210   assert(vm_thread() == NULL, "we can only allocate one VMThread");
 211   _vm_thread = new VMThread();
 212 
 213   // Create VM operation queue
 214   _vm_queue = new VMOperationQueue();
 215   guarantee(_vm_queue != NULL, "just checking");
 216 
 217   _terminate_lock = new Monitor(Mutex::safepoint, "VMThread::_terminate_lock", true,
 218                                 Monitor::_safepoint_check_never);
 219 
 220   if (UsePerfData) {
 221     // jvmstat performance counters
 222     Thread* THREAD = Thread::current();
 223     _perf_accumulated_vm_operation_time =
 224                  PerfDataManager::create_counter(SUN_THREADS, "vmOperationTime",
 225                                                  PerfData::U_Ticks, CHECK);
 226   }
 227 }
 228 
 229 
 230 VMThread::VMThread() : NamedThread() {
 231   set_name("VM Thread");
 232 }
 233 
 234 void VMThread::destroy() {
 235   if (_vm_thread != NULL) {
 236     delete _vm_thread;
 237     _vm_thread = NULL;      // VM thread is gone
 238   }


src/share/vm/runtime/vmThread.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File