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

src/share/vm/runtime/mutexLocker.cpp

Print this page
rev 9030 : 8137167: JEP165: Compiler Control: Implementation task
Summary:
Reviewed-by:


  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*   DerivedPointerTableGC_lock   = NULL;
  87 Mutex*   Compile_lock                 = NULL;
  88 Monitor* MethodCompileQueue_lock      = NULL;
  89 Monitor* CompileThread_lock           = NULL;
  90 Monitor* Compilation_lock             = NULL;
  91 Mutex*   CompileTaskAlloc_lock        = NULL;
  92 Mutex*   CompileStatistics_lock       = NULL;

  93 Mutex*   MultiArray_lock              = NULL;
  94 Monitor* Terminator_lock              = NULL;
  95 Monitor* BeforeExit_lock              = NULL;
  96 Monitor* Notify_lock                  = NULL;
  97 Monitor* Interrupt_lock               = NULL;
  98 Monitor* ProfileVM_lock               = NULL;
  99 Mutex*   ProfilePrint_lock            = NULL;
 100 Mutex*   ExceptionCache_lock          = NULL;
 101 Monitor* ObjAllocPost_lock            = NULL;
 102 Mutex*   OsrList_lock                 = NULL;
 103 
 104 #ifndef PRODUCT
 105 Mutex*   FullGCALot_lock              = NULL;
 106 #endif
 107 
 108 Mutex*   Debug1_lock                  = NULL;
 109 Mutex*   Debug2_lock                  = NULL;
 110 Mutex*   Debug3_lock                  = NULL;
 111 
 112 Mutex*   tty_lock                     = NULL;


 246   def(VMOperationQueue_lock        , Monitor, nonleaf,     true,  Monitor::_safepoint_check_sometimes);  // VM_thread allowed to block on these
 247   def(VMOperationRequest_lock      , Monitor, nonleaf,     true,  Monitor::_safepoint_check_sometimes);
 248   def(RetData_lock                 , Mutex  , nonleaf,     false, Monitor::_safepoint_check_always);
 249   def(Terminator_lock              , Monitor, nonleaf,     true,  Monitor::_safepoint_check_sometimes);
 250   def(VtableStubs_lock             , Mutex  , nonleaf,     true,  Monitor::_safepoint_check_always);
 251   def(Notify_lock                  , Monitor, nonleaf,     true,  Monitor::_safepoint_check_always);
 252   def(JNIGlobalHandle_lock         , Mutex  , nonleaf,     true,  Monitor::_safepoint_check_always);     // locks JNIHandleBlockFreeList_lock
 253   def(JNICritical_lock             , Monitor, nonleaf,     true,  Monitor::_safepoint_check_always);     // used for JNI critical regions
 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   def(TouchedMethodLog_lock        , Mutex  , nonleaf+3,   false, Monitor::_safepoint_check_always);
 275 
 276   def(MethodCompileQueue_lock      , Monitor, nonleaf+4,   true,  Monitor::_safepoint_check_always);
 277   def(Debug2_lock                  , Mutex  , nonleaf+4,   true,  Monitor::_safepoint_check_never);
 278   def(Debug3_lock                  , Mutex  , nonleaf+4,   true,  Monitor::_safepoint_check_never);
 279   def(ProfileVM_lock               , Monitor, special,     false, Monitor::_safepoint_check_never);      // used for profiling of the VMThread
 280   def(CompileThread_lock           , Monitor, nonleaf+5,   false, Monitor::_safepoint_check_always);
 281   def(PeriodicTask_lock            , Monitor, nonleaf+5,   true,  Monitor::_safepoint_check_sometimes);
 282   if (WhiteBoxAPI) {
 283     def(Compilation_lock           , Monitor, leaf,        false, Monitor::_safepoint_check_never);
 284   }
 285 




  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*   DerivedPointerTableGC_lock   = NULL;
  87 Mutex*   Compile_lock                 = NULL;
  88 Monitor* MethodCompileQueue_lock      = NULL;
  89 Monitor* CompileThread_lock           = NULL;
  90 Monitor* Compilation_lock             = NULL;
  91 Mutex*   CompileTaskAlloc_lock        = NULL;
  92 Mutex*   CompileStatistics_lock       = NULL;
  93 Mutex*   DirectivesStack_lock         = NULL;
  94 Mutex*   MultiArray_lock              = NULL;
  95 Monitor* Terminator_lock              = NULL;
  96 Monitor* BeforeExit_lock              = NULL;
  97 Monitor* Notify_lock                  = NULL;
  98 Monitor* Interrupt_lock               = NULL;
  99 Monitor* ProfileVM_lock               = NULL;
 100 Mutex*   ProfilePrint_lock            = NULL;
 101 Mutex*   ExceptionCache_lock          = NULL;
 102 Monitor* ObjAllocPost_lock            = NULL;
 103 Mutex*   OsrList_lock                 = NULL;
 104 
 105 #ifndef PRODUCT
 106 Mutex*   FullGCALot_lock              = NULL;
 107 #endif
 108 
 109 Mutex*   Debug1_lock                  = NULL;
 110 Mutex*   Debug2_lock                  = NULL;
 111 Mutex*   Debug3_lock                  = NULL;
 112 
 113 Mutex*   tty_lock                     = NULL;


 247   def(VMOperationQueue_lock        , Monitor, nonleaf,     true,  Monitor::_safepoint_check_sometimes);  // VM_thread allowed to block on these
 248   def(VMOperationRequest_lock      , Monitor, nonleaf,     true,  Monitor::_safepoint_check_sometimes);
 249   def(RetData_lock                 , Mutex  , nonleaf,     false, Monitor::_safepoint_check_always);
 250   def(Terminator_lock              , Monitor, nonleaf,     true,  Monitor::_safepoint_check_sometimes);
 251   def(VtableStubs_lock             , Mutex  , nonleaf,     true,  Monitor::_safepoint_check_always);
 252   def(Notify_lock                  , Monitor, nonleaf,     true,  Monitor::_safepoint_check_always);
 253   def(JNIGlobalHandle_lock         , Mutex  , nonleaf,     true,  Monitor::_safepoint_check_always);     // locks JNIHandleBlockFreeList_lock
 254   def(JNICritical_lock             , Monitor, nonleaf,     true,  Monitor::_safepoint_check_always);     // used for JNI critical regions
 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(DirectivesStack_lock         , Mutex  , special,     true,  Monitor::_safepoint_check_never);
 268   def(MultiArray_lock              , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);     // locks SymbolTable_lock
 269 
 270   def(JvmtiThreadState_lock        , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);     // Used by JvmtiThreadState/JvmtiEventController
 271   def(JvmtiPendingEvent_lock       , Monitor, nonleaf,     false, Monitor::_safepoint_check_never);      // Used by JvmtiCodeBlobEvents
 272   def(Management_lock              , Mutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);     // used for JVM management
 273 
 274   def(Compile_lock                 , Mutex  , nonleaf+3,   true,  Monitor::_safepoint_check_sometimes);
 275   def(MethodData_lock              , Mutex  , nonleaf+3,   false, Monitor::_safepoint_check_always);
 276   def(TouchedMethodLog_lock        , Mutex  , nonleaf+3,   false, Monitor::_safepoint_check_always);
 277 
 278   def(MethodCompileQueue_lock      , Monitor, nonleaf+4,   true,  Monitor::_safepoint_check_always);
 279   def(Debug2_lock                  , Mutex  , nonleaf+4,   true,  Monitor::_safepoint_check_never);
 280   def(Debug3_lock                  , Mutex  , nonleaf+4,   true,  Monitor::_safepoint_check_never);
 281   def(ProfileVM_lock               , Monitor, special,     false, Monitor::_safepoint_check_never);      // used for profiling of the VMThread
 282   def(CompileThread_lock           , Monitor, nonleaf+5,   false, Monitor::_safepoint_check_always);
 283   def(PeriodicTask_lock            , Monitor, nonleaf+5,   true,  Monitor::_safepoint_check_sometimes);
 284   if (WhiteBoxAPI) {
 285     def(Compilation_lock           , Monitor, leaf,        false, Monitor::_safepoint_check_never);
 286   }
 287 


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