src/share/vm/runtime/mutexLocker.cpp

changeset 3427
94ec88ca68e2
parent 3156
f08d439fab8c
child 3467
0a10d80352d5
     1.1 --- a/src/share/vm/runtime/mutexLocker.cpp	Mon Jan 09 10:27:24 2012 +0100
     1.2 +++ b/src/share/vm/runtime/mutexLocker.cpp	Wed Jan 11 17:34:02 2012 -0500
     1.3 @@ -132,7 +132,13 @@
     1.4  Monitor* GCTaskManager_lock           = NULL;
     1.5  
     1.6  Mutex*   Management_lock              = NULL;
     1.7 -Monitor* Service_lock               = NULL;
     1.8 +Monitor* Service_lock                 = NULL;
     1.9 +Mutex*   Stacktrace_lock              = NULL;
    1.10 +
    1.11 +Monitor* JfrQuery_lock                = NULL;
    1.12 +Monitor* JfrMsg_lock                  = NULL;
    1.13 +Mutex*   JfrBuffer_lock               = NULL;
    1.14 +Mutex*   JfrStream_lock               = NULL;
    1.15  
    1.16  #define MAX_NUM_MUTEX 128
    1.17  static Monitor * _mutex_array[MAX_NUM_MUTEX];
    1.18 @@ -207,6 +213,7 @@
    1.19    def(Patching_lock                , Mutex  , special,     true ); // used for safepointing and code patching.
    1.20    def(ObjAllocPost_lock            , Monitor, special,     false);
    1.21    def(Service_lock                 , Monitor, special,     true ); // used for service thread operations
    1.22 +  def(Stacktrace_lock              , Mutex,   special,     true ); // used for JFR stacktrace database
    1.23    def(JmethodIdCreation_lock       , Mutex  , leaf,        true ); // used for creating jmethodIDs.
    1.24  
    1.25    def(SystemDictionary_lock        , Monitor, leaf,        true ); // lookups done by VM thread
    1.26 @@ -271,6 +278,11 @@
    1.27    def(Debug3_lock                  , Mutex  , nonleaf+4,   true );
    1.28    def(ProfileVM_lock               , Monitor, nonleaf+4,   false); // used for profiling of the VMThread
    1.29    def(CompileThread_lock           , Monitor, nonleaf+5,   false );
    1.30 +
    1.31 +  def(JfrQuery_lock                , Monitor, nonleaf,     true);  // JFR locks, keep these in consecutive order
    1.32 +  def(JfrMsg_lock                  , Monitor, nonleaf+2,   true);
    1.33 +  def(JfrBuffer_lock               , Mutex,   nonleaf+3,   true);
    1.34 +  def(JfrStream_lock               , Mutex,   nonleaf+4,   true);
    1.35  }
    1.36  
    1.37  GCMutexLocker::GCMutexLocker(Monitor * mutex) {

mercurial