src/share/vm/runtime/mutexLocker.cpp

Print this page




  46 Mutex*   VMStatistic_lock             = NULL;
  47 Mutex*   JNIGlobalHandle_lock         = NULL;
  48 Mutex*   JNIHandleBlockFreeList_lock  = NULL;
  49 Mutex*   MemberNameTable_lock         = NULL;
  50 Mutex*   JmethodIdCreation_lock       = NULL;
  51 Mutex*   JfieldIdCreation_lock        = NULL;
  52 Monitor* JNICritical_lock             = NULL;
  53 Mutex*   JvmtiThreadState_lock        = NULL;
  54 Monitor* JvmtiPendingEvent_lock       = NULL;
  55 Monitor* Heap_lock                    = NULL;
  56 Mutex*   ExpandHeap_lock              = NULL;
  57 Mutex*   AdapterHandlerLibrary_lock   = NULL;
  58 Mutex*   SignatureHandlerLibrary_lock = NULL;
  59 Mutex*   VtableStubs_lock             = NULL;
  60 Mutex*   SymbolTable_lock             = NULL;
  61 Mutex*   StringTable_lock             = NULL;
  62 Monitor* StringDedupQueue_lock        = NULL;
  63 Mutex*   StringDedupTable_lock        = NULL;
  64 Monitor* CodeCache_lock               = NULL;
  65 Mutex*   MethodData_lock              = NULL;

  66 Mutex*   RetData_lock                 = NULL;
  67 Monitor* VMOperationQueue_lock        = NULL;
  68 Monitor* VMOperationRequest_lock      = NULL;
  69 Monitor* Safepoint_lock               = NULL;
  70 Monitor* SerializePage_lock           = NULL;
  71 Monitor* Threads_lock                 = NULL;
  72 Monitor* CGC_lock                     = NULL;
  73 Monitor* STS_lock                     = NULL;
  74 Monitor* SLT_lock                     = NULL;
  75 Monitor* FullGCCount_lock             = NULL;
  76 Monitor* CMark_lock                   = NULL;
  77 Mutex*   CMRegionStack_lock           = NULL;
  78 Mutex*   SATB_Q_FL_lock               = NULL;
  79 Monitor* SATB_Q_CBL_mon               = NULL;
  80 Mutex*   Shared_SATB_Q_lock           = NULL;
  81 Mutex*   DirtyCardQ_FL_lock           = NULL;
  82 Monitor* DirtyCardQ_CBL_mon           = NULL;
  83 Mutex*   Shared_DirtyCardQ_lock       = NULL;
  84 Mutex*   ParGCRareEvent_lock          = NULL;
  85 Mutex*   EvacFailureStack_lock        = NULL;


 254   def(AdapterHandlerLibrary_lock   , Mutex  , nonleaf,     true,  Monitor::_safepoint_check_always);
 255   if (UseConcMarkSweepGC) {
 256     def(SLT_lock                   , Monitor, nonleaf,     false, Monitor::_safepoint_check_never);      // used in CMS GC for locking PLL lock
 257   }
 258 
 259   def(Heap_lock                    , Monitor, nonleaf+1,   false, Monitor::_safepoint_check_sometimes);
 260   def(JfieldIdCreation_lock        , Mutex  , nonleaf+1,   true,  Monitor::_safepoint_check_always);     // jfieldID, Used in VM_Operation
 261   def(MemberNameTable_lock         , Mutex  , nonleaf+1,   false, Monitor::_safepoint_check_always);     // Used to protect MemberNameTable
 262 
 263   def(CompiledIC_lock              , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);     // locks VtableStubs_lock, InlineCacheBuffer_lock
 264   def(CompileTaskAlloc_lock        , Mutex  , nonleaf+2,   true,  Monitor::_safepoint_check_always);
 265   def(CompileStatistics_lock       , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);
 266   def(MultiArray_lock              , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);     // locks SymbolTable_lock
 267 
 268   def(JvmtiThreadState_lock        , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);     // Used by JvmtiThreadState/JvmtiEventController
 269   def(JvmtiPendingEvent_lock       , Monitor, nonleaf,     false, Monitor::_safepoint_check_never);      // Used by JvmtiCodeBlobEvents
 270   def(Management_lock              , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);     // used for JVM management
 271 
 272   def(Compile_lock                 , Mutex  , nonleaf+3,   true,  Monitor::_safepoint_check_sometimes);
 273   def(MethodData_lock              , Mutex  , nonleaf+3,   false, Monitor::_safepoint_check_always);

 274 
 275   def(MethodCompileQueue_lock      , Monitor, nonleaf+4,   true,  Monitor::_safepoint_check_always);
 276   def(Debug2_lock                  , Mutex  , nonleaf+4,   true,  Monitor::_safepoint_check_never);
 277   def(Debug3_lock                  , Mutex  , nonleaf+4,   true,  Monitor::_safepoint_check_never);
 278   def(ProfileVM_lock               , Monitor, special,     false, Monitor::_safepoint_check_never);      // used for profiling of the VMThread
 279   def(CompileThread_lock           , Monitor, nonleaf+5,   false, Monitor::_safepoint_check_always);
 280   def(PeriodicTask_lock            , Monitor, nonleaf+5,   true,  Monitor::_safepoint_check_sometimes);
 281   if (WhiteBoxAPI) {
 282     def(Compilation_lock           , Monitor, leaf,        false, Monitor::_safepoint_check_never);
 283   }
 284 
 285 #ifdef INCLUDE_TRACE
 286   def(JfrMsg_lock                  , Monitor, leaf,        true,  Monitor::_safepoint_check_always);
 287   def(JfrBuffer_lock               , Mutex,   leaf,        true,  Monitor::_safepoint_check_never);
 288   def(JfrThreadGroups_lock         , Mutex,   leaf,        true,  Monitor::_safepoint_check_always);
 289   def(JfrStream_lock               , Mutex,   nonleaf,     true,  Monitor::_safepoint_check_never);
 290   def(JfrStacktrace_lock           , Mutex,   special,     true,  Monitor::_safepoint_check_sometimes);
 291 #endif
 292 
 293 #ifndef SUPPORTS_NATIVE_CX8




  46 Mutex*   VMStatistic_lock             = NULL;
  47 Mutex*   JNIGlobalHandle_lock         = NULL;
  48 Mutex*   JNIHandleBlockFreeList_lock  = NULL;
  49 Mutex*   MemberNameTable_lock         = NULL;
  50 Mutex*   JmethodIdCreation_lock       = NULL;
  51 Mutex*   JfieldIdCreation_lock        = NULL;
  52 Monitor* JNICritical_lock             = NULL;
  53 Mutex*   JvmtiThreadState_lock        = NULL;
  54 Monitor* JvmtiPendingEvent_lock       = NULL;
  55 Monitor* Heap_lock                    = NULL;
  56 Mutex*   ExpandHeap_lock              = NULL;
  57 Mutex*   AdapterHandlerLibrary_lock   = NULL;
  58 Mutex*   SignatureHandlerLibrary_lock = NULL;
  59 Mutex*   VtableStubs_lock             = NULL;
  60 Mutex*   SymbolTable_lock             = NULL;
  61 Mutex*   StringTable_lock             = NULL;
  62 Monitor* StringDedupQueue_lock        = NULL;
  63 Mutex*   StringDedupTable_lock        = NULL;
  64 Monitor* CodeCache_lock               = NULL;
  65 Mutex*   MethodData_lock              = NULL;
  66 Mutex*   MethodUsage_lock             = NULL;
  67 Mutex*   RetData_lock                 = NULL;
  68 Monitor* VMOperationQueue_lock        = NULL;
  69 Monitor* VMOperationRequest_lock      = NULL;
  70 Monitor* Safepoint_lock               = NULL;
  71 Monitor* SerializePage_lock           = NULL;
  72 Monitor* Threads_lock                 = NULL;
  73 Monitor* CGC_lock                     = NULL;
  74 Monitor* STS_lock                     = NULL;
  75 Monitor* SLT_lock                     = NULL;
  76 Monitor* FullGCCount_lock             = NULL;
  77 Monitor* CMark_lock                   = NULL;
  78 Mutex*   CMRegionStack_lock           = NULL;
  79 Mutex*   SATB_Q_FL_lock               = NULL;
  80 Monitor* SATB_Q_CBL_mon               = NULL;
  81 Mutex*   Shared_SATB_Q_lock           = NULL;
  82 Mutex*   DirtyCardQ_FL_lock           = NULL;
  83 Monitor* DirtyCardQ_CBL_mon           = NULL;
  84 Mutex*   Shared_DirtyCardQ_lock       = NULL;
  85 Mutex*   ParGCRareEvent_lock          = NULL;
  86 Mutex*   EvacFailureStack_lock        = NULL;


 255   def(AdapterHandlerLibrary_lock   , Mutex  , nonleaf,     true,  Monitor::_safepoint_check_always);
 256   if (UseConcMarkSweepGC) {
 257     def(SLT_lock                   , Monitor, nonleaf,     false, Monitor::_safepoint_check_never);      // used in CMS GC for locking PLL lock
 258   }
 259 
 260   def(Heap_lock                    , Monitor, nonleaf+1,   false, Monitor::_safepoint_check_sometimes);
 261   def(JfieldIdCreation_lock        , Mutex  , nonleaf+1,   true,  Monitor::_safepoint_check_always);     // jfieldID, Used in VM_Operation
 262   def(MemberNameTable_lock         , Mutex  , nonleaf+1,   false, Monitor::_safepoint_check_always);     // Used to protect MemberNameTable
 263 
 264   def(CompiledIC_lock              , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);     // locks VtableStubs_lock, InlineCacheBuffer_lock
 265   def(CompileTaskAlloc_lock        , Mutex  , nonleaf+2,   true,  Monitor::_safepoint_check_always);
 266   def(CompileStatistics_lock       , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);
 267   def(MultiArray_lock              , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);     // locks SymbolTable_lock
 268 
 269   def(JvmtiThreadState_lock        , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);     // Used by JvmtiThreadState/JvmtiEventController
 270   def(JvmtiPendingEvent_lock       , Monitor, nonleaf,     false, Monitor::_safepoint_check_never);      // Used by JvmtiCodeBlobEvents
 271   def(Management_lock              , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);     // used for JVM management
 272 
 273   def(Compile_lock                 , Mutex  , nonleaf+3,   true,  Monitor::_safepoint_check_sometimes);
 274   def(MethodData_lock              , Mutex  , nonleaf+3,   false, Monitor::_safepoint_check_always);
 275   def(MethodUsage_lock             , Mutex  , nonleaf+3,   false, Monitor::_safepoint_check_always);
 276 
 277   def(MethodCompileQueue_lock      , Monitor, nonleaf+4,   true,  Monitor::_safepoint_check_always);
 278   def(Debug2_lock                  , Mutex  , nonleaf+4,   true,  Monitor::_safepoint_check_never);
 279   def(Debug3_lock                  , Mutex  , nonleaf+4,   true,  Monitor::_safepoint_check_never);
 280   def(ProfileVM_lock               , Monitor, special,     false, Monitor::_safepoint_check_never);      // used for profiling of the VMThread
 281   def(CompileThread_lock           , Monitor, nonleaf+5,   false, Monitor::_safepoint_check_always);
 282   def(PeriodicTask_lock            , Monitor, nonleaf+5,   true,  Monitor::_safepoint_check_sometimes);
 283   if (WhiteBoxAPI) {
 284     def(Compilation_lock           , Monitor, leaf,        false, Monitor::_safepoint_check_never);
 285   }
 286 
 287 #ifdef INCLUDE_TRACE
 288   def(JfrMsg_lock                  , Monitor, leaf,        true,  Monitor::_safepoint_check_always);
 289   def(JfrBuffer_lock               , Mutex,   leaf,        true,  Monitor::_safepoint_check_never);
 290   def(JfrThreadGroups_lock         , Mutex,   leaf,        true,  Monitor::_safepoint_check_always);
 291   def(JfrStream_lock               , Mutex,   nonleaf,     true,  Monitor::_safepoint_check_never);
 292   def(JfrStacktrace_lock           , Mutex,   special,     true,  Monitor::_safepoint_check_sometimes);
 293 #endif
 294 
 295 #ifndef SUPPORTS_NATIVE_CX8