src/hotspot/share/runtime/mutexLocker.cpp
changeset 54511 fbfcebad8e66
parent 54366 2b48cedce327
child 54645 05aaccf7d558
equal deleted inserted replaced
54510:c97a91097f9f 54511:fbfcebad8e66
    52 Mutex*   StringTableWeakAlloc_lock    = NULL;
    52 Mutex*   StringTableWeakAlloc_lock    = NULL;
    53 Mutex*   StringTableWeakActive_lock   = NULL;
    53 Mutex*   StringTableWeakActive_lock   = NULL;
    54 Mutex*   JNIHandleBlockFreeList_lock  = NULL;
    54 Mutex*   JNIHandleBlockFreeList_lock  = NULL;
    55 Mutex*   VMWeakAlloc_lock             = NULL;
    55 Mutex*   VMWeakAlloc_lock             = NULL;
    56 Mutex*   VMWeakActive_lock            = NULL;
    56 Mutex*   VMWeakActive_lock            = NULL;
    57 Mutex*   ResolvedMethodTable_lock     = NULL;
    57 Mutex*   ResolvedMethodTableWeakAlloc_lock  = NULL;
       
    58 Mutex*   ResolvedMethodTableWeakActive_lock = NULL;
    58 Mutex*   JmethodIdCreation_lock       = NULL;
    59 Mutex*   JmethodIdCreation_lock       = NULL;
    59 Mutex*   JfieldIdCreation_lock        = NULL;
    60 Mutex*   JfieldIdCreation_lock        = NULL;
    60 Monitor* JNICritical_lock             = NULL;
    61 Monitor* JNICritical_lock             = NULL;
    61 Mutex*   JvmtiThreadState_lock        = NULL;
    62 Mutex*   JvmtiThreadState_lock        = NULL;
    62 Monitor* Heap_lock                    = NULL;
    63 Monitor* Heap_lock                    = NULL;
   210   def(VMWeakActive_lock            , PaddedMutex  , vmweak-1,    true,  Monitor::_safepoint_check_never);
   211   def(VMWeakActive_lock            , PaddedMutex  , vmweak-1,    true,  Monitor::_safepoint_check_never);
   211 
   212 
   212   def(StringTableWeakAlloc_lock    , PaddedMutex  , vmweak,      true,  Monitor::_safepoint_check_never);
   213   def(StringTableWeakAlloc_lock    , PaddedMutex  , vmweak,      true,  Monitor::_safepoint_check_never);
   213   def(StringTableWeakActive_lock   , PaddedMutex  , vmweak-1,    true,  Monitor::_safepoint_check_never);
   214   def(StringTableWeakActive_lock   , PaddedMutex  , vmweak-1,    true,  Monitor::_safepoint_check_never);
   214 
   215 
       
   216   def(ResolvedMethodTableWeakAlloc_lock    , PaddedMutex  , vmweak,      true,  Monitor::_safepoint_check_never);
       
   217   def(ResolvedMethodTableWeakActive_lock   , PaddedMutex  , vmweak-1,    true,  Monitor::_safepoint_check_never);
       
   218 
   215   if (UseConcMarkSweepGC || UseG1GC) {
   219   if (UseConcMarkSweepGC || UseG1GC) {
   216     def(FullGCCount_lock           , PaddedMonitor, leaf,        true,  Monitor::_safepoint_check_never);      // in support of ExplicitGCInvokesConcurrent
   220     def(FullGCCount_lock           , PaddedMonitor, leaf,        true,  Monitor::_safepoint_check_never);      // in support of ExplicitGCInvokesConcurrent
   217   }
   221   }
   218   if (UseG1GC) {
   222   if (UseG1GC) {
   219     def(SATB_Q_CBL_mon             , PaddedMonitor, access,      true,  Monitor::_safepoint_check_never);
   223     def(SATB_Q_CBL_mon             , PaddedMonitor, access,      true,  Monitor::_safepoint_check_never);
   296   def(JNICritical_lock             , PaddedMonitor, nonleaf,     true,  Monitor::_safepoint_check_always);     // used for JNI critical regions
   300   def(JNICritical_lock             , PaddedMonitor, nonleaf,     true,  Monitor::_safepoint_check_always);     // used for JNI critical regions
   297   def(AdapterHandlerLibrary_lock   , PaddedMutex  , nonleaf,     true,  Monitor::_safepoint_check_always);
   301   def(AdapterHandlerLibrary_lock   , PaddedMutex  , nonleaf,     true,  Monitor::_safepoint_check_always);
   298 
   302 
   299   def(Heap_lock                    , PaddedMonitor, nonleaf+1,   false, Monitor::_safepoint_check_sometimes);
   303   def(Heap_lock                    , PaddedMonitor, nonleaf+1,   false, Monitor::_safepoint_check_sometimes);
   300   def(JfieldIdCreation_lock        , PaddedMutex  , nonleaf+1,   true,  Monitor::_safepoint_check_always);     // jfieldID, Used in VM_Operation
   304   def(JfieldIdCreation_lock        , PaddedMutex  , nonleaf+1,   true,  Monitor::_safepoint_check_always);     // jfieldID, Used in VM_Operation
   301   def(ResolvedMethodTable_lock     , PaddedMutex  , nonleaf+1,   false, Monitor::_safepoint_check_always);     // Used to protect ResolvedMethodTable
       
   302 
   305 
   303   def(CompiledIC_lock              , PaddedMutex  , nonleaf+2,   false, Monitor::_safepoint_check_never);      // locks VtableStubs_lock, InlineCacheBuffer_lock
   306   def(CompiledIC_lock              , PaddedMutex  , nonleaf+2,   false, Monitor::_safepoint_check_never);      // locks VtableStubs_lock, InlineCacheBuffer_lock
   304   def(CompileTaskAlloc_lock        , PaddedMutex  , nonleaf+2,   true,  Monitor::_safepoint_check_always);
   307   def(CompileTaskAlloc_lock        , PaddedMutex  , nonleaf+2,   true,  Monitor::_safepoint_check_always);
   305   def(CompileStatistics_lock       , PaddedMutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);
   308   def(CompileStatistics_lock       , PaddedMutex  , nonleaf+2,   false, Monitor::_safepoint_check_always);
   306   def(DirectivesStack_lock         , PaddedMutex  , special,     true,  Monitor::_safepoint_check_never);
   309   def(DirectivesStack_lock         , PaddedMutex  , special,     true,  Monitor::_safepoint_check_never);