hotspot/src/share/vm/runtime/mutexLocker.cpp
changeset 1374 4c24294029a9
parent 228 69939fa91efd
child 1388 3677f5f3d66b
equal deleted inserted replaced
615:570062d730b2 1374:4c24294029a9
    45 Mutex*   JmethodIdCreation_lock       = NULL;
    45 Mutex*   JmethodIdCreation_lock       = NULL;
    46 Mutex*   JfieldIdCreation_lock        = NULL;
    46 Mutex*   JfieldIdCreation_lock        = NULL;
    47 Monitor* JNICritical_lock             = NULL;
    47 Monitor* JNICritical_lock             = NULL;
    48 Mutex*   JvmtiThreadState_lock        = NULL;
    48 Mutex*   JvmtiThreadState_lock        = NULL;
    49 Monitor* JvmtiPendingEvent_lock       = NULL;
    49 Monitor* JvmtiPendingEvent_lock       = NULL;
    50 Mutex*   Heap_lock                    = NULL;
    50 Monitor* Heap_lock                    = NULL;
    51 Mutex*   ExpandHeap_lock              = NULL;
    51 Mutex*   ExpandHeap_lock              = NULL;
    52 Mutex*   AdapterHandlerLibrary_lock   = NULL;
    52 Mutex*   AdapterHandlerLibrary_lock   = NULL;
    53 Mutex*   SignatureHandlerLibrary_lock = NULL;
    53 Mutex*   SignatureHandlerLibrary_lock = NULL;
    54 Mutex*   VtableStubs_lock             = NULL;
    54 Mutex*   VtableStubs_lock             = NULL;
    55 Mutex*   SymbolTable_lock             = NULL;
    55 Mutex*   SymbolTable_lock             = NULL;
    65 Monitor* CGC_lock                     = NULL;
    65 Monitor* CGC_lock                     = NULL;
    66 Mutex*   STS_init_lock                = NULL;
    66 Mutex*   STS_init_lock                = NULL;
    67 Monitor* SLT_lock                     = NULL;
    67 Monitor* SLT_lock                     = NULL;
    68 Monitor* iCMS_lock                    = NULL;
    68 Monitor* iCMS_lock                    = NULL;
    69 Monitor* FullGCCount_lock             = NULL;
    69 Monitor* FullGCCount_lock             = NULL;
       
    70 Monitor* CMark_lock                   = NULL;
       
    71 Monitor* ZF_mon                       = NULL;
       
    72 Monitor* Cleanup_mon                  = NULL;
       
    73 Monitor* G1ConcRefine_mon             = NULL;
       
    74 Mutex*   SATB_Q_FL_lock               = NULL;
       
    75 Monitor* SATB_Q_CBL_mon               = NULL;
       
    76 Mutex*   Shared_SATB_Q_lock           = NULL;
       
    77 Mutex*   DirtyCardQ_FL_lock           = NULL;
       
    78 Monitor* DirtyCardQ_CBL_mon           = NULL;
       
    79 Mutex*   Shared_DirtyCardQ_lock       = NULL;
    70 Mutex*   ParGCRareEvent_lock          = NULL;
    80 Mutex*   ParGCRareEvent_lock          = NULL;
       
    81 Mutex*   EvacFailureStack_lock        = NULL;
    71 Mutex*   DerivedPointerTableGC_lock   = NULL;
    82 Mutex*   DerivedPointerTableGC_lock   = NULL;
    72 Mutex*   Compile_lock                 = NULL;
    83 Mutex*   Compile_lock                 = NULL;
    73 Monitor* MethodCompileQueue_lock      = NULL;
    84 Monitor* MethodCompileQueue_lock      = NULL;
    74 #ifdef TIERED
    85 #ifdef TIERED
    75 Monitor* C1_lock                      = NULL;
    86 Monitor* C1_lock                      = NULL;
   100 Mutex*   RawMonitor_lock              = NULL;
   111 Mutex*   RawMonitor_lock              = NULL;
   101 Mutex*   PerfDataMemAlloc_lock        = NULL;
   112 Mutex*   PerfDataMemAlloc_lock        = NULL;
   102 Mutex*   PerfDataManager_lock         = NULL;
   113 Mutex*   PerfDataManager_lock         = NULL;
   103 Mutex*   OopMapCacheAlloc_lock        = NULL;
   114 Mutex*   OopMapCacheAlloc_lock        = NULL;
   104 
   115 
       
   116 Mutex*   MMUTracker_lock              = NULL;
       
   117 Mutex*   HotCardCache_lock            = NULL;
       
   118 
   105 Monitor* GCTaskManager_lock           = NULL;
   119 Monitor* GCTaskManager_lock           = NULL;
   106 
   120 
   107 Mutex*   Management_lock              = NULL;
   121 Mutex*   Management_lock              = NULL;
   108 Monitor* LowMemory_lock               = NULL;
   122 Monitor* LowMemory_lock               = NULL;
   109 
   123 
   147   def(CGC_lock                   , Monitor, special,     true ); // coordinate between fore- and background GC
   161   def(CGC_lock                   , Monitor, special,     true ); // coordinate between fore- and background GC
   148   def(STS_init_lock              , Mutex,   leaf,        true );
   162   def(STS_init_lock              , Mutex,   leaf,        true );
   149   if (UseConcMarkSweepGC) {
   163   if (UseConcMarkSweepGC) {
   150     def(iCMS_lock                  , Monitor, special,     true ); // CMS incremental mode start/stop notification
   164     def(iCMS_lock                  , Monitor, special,     true ); // CMS incremental mode start/stop notification
   151     def(FullGCCount_lock           , Monitor, leaf,        true ); // in support of ExplicitGCInvokesConcurrent
   165     def(FullGCCount_lock           , Monitor, leaf,        true ); // in support of ExplicitGCInvokesConcurrent
       
   166   }
       
   167   if (UseG1GC) {
       
   168     def(CMark_lock                 , Monitor, nonleaf,     true ); // coordinate concurrent mark thread
       
   169     def(ZF_mon                     , Monitor, leaf,        true );
       
   170     def(Cleanup_mon                , Monitor, nonleaf,     true );
       
   171     def(G1ConcRefine_mon           , Monitor, nonleaf,     true );
       
   172     def(SATB_Q_FL_lock             , Mutex  , special,     true );
       
   173     def(SATB_Q_CBL_mon             , Monitor, nonleaf,     true );
       
   174     def(Shared_SATB_Q_lock         , Mutex,   nonleaf,     true );
       
   175 
       
   176     def(DirtyCardQ_FL_lock         , Mutex  , special,     true );
       
   177     def(DirtyCardQ_CBL_mon         , Monitor, nonleaf,     true );
       
   178     def(Shared_DirtyCardQ_lock     , Mutex,   nonleaf,     true );
       
   179 
       
   180     def(MMUTracker_lock            , Mutex  , leaf     ,   true );
       
   181     def(HotCardCache_lock          , Mutex  , special  ,   true );
       
   182     def(EvacFailureStack_lock      , Mutex  , nonleaf  ,   true );
   152   }
   183   }
   153   def(ParGCRareEvent_lock          , Mutex  , leaf     ,   true );
   184   def(ParGCRareEvent_lock          , Mutex  , leaf     ,   true );
   154   def(DerivedPointerTableGC_lock   , Mutex,   leaf,        true );
   185   def(DerivedPointerTableGC_lock   , Mutex,   leaf,        true );
   155   def(CodeCache_lock               , Mutex  , special,     true );
   186   def(CodeCache_lock               , Mutex  , special,     true );
   156   def(Interrupt_lock               , Monitor, special,     true ); // used for interrupt processing
   187   def(Interrupt_lock               , Monitor, special,     true ); // used for interrupt processing
   201   def(AdapterHandlerLibrary_lock   , Mutex  , nonleaf,     true);
   232   def(AdapterHandlerLibrary_lock   , Mutex  , nonleaf,     true);
   202   if (UseConcMarkSweepGC) {
   233   if (UseConcMarkSweepGC) {
   203     def(SLT_lock                   , Monitor, nonleaf,     false );
   234     def(SLT_lock                   , Monitor, nonleaf,     false );
   204                     // used in CMS GC for locking PLL lock
   235                     // used in CMS GC for locking PLL lock
   205   }
   236   }
   206   def(Heap_lock                    , Mutex  , nonleaf+1,   false);
   237   def(Heap_lock                    , Monitor, nonleaf+1,   false);
   207   def(JfieldIdCreation_lock        , Mutex  , nonleaf+1,   true ); // jfieldID, Used in VM_Operation
   238   def(JfieldIdCreation_lock        , Mutex  , nonleaf+1,   true ); // jfieldID, Used in VM_Operation
   208   def(JNICachedItableIndex_lock    , Mutex  , nonleaf+1,   false); // Used to cache an itable index during JNI invoke
   239   def(JNICachedItableIndex_lock    , Mutex  , nonleaf+1,   false); // Used to cache an itable index during JNI invoke
   209 
   240 
   210   def(CompiledIC_lock              , Mutex  , nonleaf+2,   false); // locks VtableStubs_lock, InlineCacheBuffer_lock
   241   def(CompiledIC_lock              , Mutex  , nonleaf+2,   false); // locks VtableStubs_lock, InlineCacheBuffer_lock
   211   def(CompileTaskAlloc_lock        , Mutex  , nonleaf+2,   true );
   242   def(CompileTaskAlloc_lock        , Mutex  , nonleaf+2,   true );