< prev index next >

src/hotspot/share/runtime/mutexLocker.hpp

Print this page
rev 48552 : [mq]: heap10a
rev 48553 : [mq]: heap14_rebased


 109 extern Mutex*   Debug1_lock;                     // A bunch of pre-allocated locks that can be used for tracing
 110 extern Mutex*   Debug2_lock;                     // down synchronization related bugs!
 111 extern Mutex*   Debug3_lock;
 112 
 113 extern Mutex*   RawMonitor_lock;
 114 extern Mutex*   PerfDataMemAlloc_lock;           // a lock on the allocator for PerfData memory for performance data
 115 extern Mutex*   PerfDataManager_lock;            // a long on access to PerfDataManager resources
 116 extern Mutex*   ParkerFreeList_lock;
 117 extern Mutex*   OopMapCacheAlloc_lock;           // protects allocation of oop_map caches
 118 
 119 extern Mutex*   FreeList_lock;                   // protects the free region list during safepoints
 120 extern Monitor* SecondaryFreeList_lock;          // protects the secondary free region list
 121 extern Mutex*   OldSets_lock;                    // protects the old region sets
 122 extern Monitor* RootRegionScan_lock;             // used to notify that the CM threads have finished scanning the IM snapshot regions
 123 
 124 extern Mutex*   Management_lock;                 // a lock used to serialize JVM management
 125 extern Monitor* Service_lock;                    // a lock used for service thread operation
 126 extern Monitor* PeriodicTask_lock;               // protects the periodic task structure
 127 extern Monitor* RedefineClasses_lock;            // locks classes from parallel redefinition
 128 



 129 #if INCLUDE_TRACE
 130 extern Mutex*   JfrStacktrace_lock;              // used to guard access to the JFR stacktrace table
 131 extern Monitor* JfrMsg_lock;                     // protects JFR messaging
 132 extern Mutex*   JfrBuffer_lock;                  // protects JFR buffer operations
 133 extern Mutex*   JfrStream_lock;                  // protects JFR stream access
 134 #endif
 135 
 136 #ifndef SUPPORTS_NATIVE_CX8
 137 extern Mutex*   UnsafeJlong_lock;                // provides Unsafe atomic updates to jlongs on platforms that don't support cx8
 138 #endif
 139 
 140 // A MutexLocker provides mutual exclusion with respect to a given mutex
 141 // for the scope which contains the locker.  The lock is an OS lock, not
 142 // an object lock, and the two do not interoperate.  Do not use Mutex-based
 143 // locks to lock on Java objects, because they will not be respected if a
 144 // that object is locked using the Java locking mechanism.
 145 //
 146 //                NOTE WELL!!
 147 //
 148 // See orderAccess.hpp.  We assume throughout the VM that MutexLocker's




 109 extern Mutex*   Debug1_lock;                     // A bunch of pre-allocated locks that can be used for tracing
 110 extern Mutex*   Debug2_lock;                     // down synchronization related bugs!
 111 extern Mutex*   Debug3_lock;
 112 
 113 extern Mutex*   RawMonitor_lock;
 114 extern Mutex*   PerfDataMemAlloc_lock;           // a lock on the allocator for PerfData memory for performance data
 115 extern Mutex*   PerfDataManager_lock;            // a long on access to PerfDataManager resources
 116 extern Mutex*   ParkerFreeList_lock;
 117 extern Mutex*   OopMapCacheAlloc_lock;           // protects allocation of oop_map caches
 118 
 119 extern Mutex*   FreeList_lock;                   // protects the free region list during safepoints
 120 extern Monitor* SecondaryFreeList_lock;          // protects the secondary free region list
 121 extern Mutex*   OldSets_lock;                    // protects the old region sets
 122 extern Monitor* RootRegionScan_lock;             // used to notify that the CM threads have finished scanning the IM snapshot regions
 123 
 124 extern Mutex*   Management_lock;                 // a lock used to serialize JVM management
 125 extern Monitor* Service_lock;                    // a lock used for service thread operation
 126 extern Monitor* PeriodicTask_lock;               // protects the periodic task structure
 127 extern Monitor* RedefineClasses_lock;            // locks classes from parallel redefinition
 128 
 129 extern Monitor* HeapMonitor_lock;                // protects HeapMonitor initialize and stop calls
 130 extern Monitor* HeapMonitorStorage_lock;         // protects internal storage in HeapMonitoring
 131 
 132 #if INCLUDE_TRACE
 133 extern Mutex*   JfrStacktrace_lock;              // used to guard access to the JFR stacktrace table
 134 extern Monitor* JfrMsg_lock;                     // protects JFR messaging
 135 extern Mutex*   JfrBuffer_lock;                  // protects JFR buffer operations
 136 extern Mutex*   JfrStream_lock;                  // protects JFR stream access
 137 #endif
 138 
 139 #ifndef SUPPORTS_NATIVE_CX8
 140 extern Mutex*   UnsafeJlong_lock;                // provides Unsafe atomic updates to jlongs on platforms that don't support cx8
 141 #endif
 142 
 143 // A MutexLocker provides mutual exclusion with respect to a given mutex
 144 // for the scope which contains the locker.  The lock is an OS lock, not
 145 // an object lock, and the two do not interoperate.  Do not use Mutex-based
 146 // locks to lock on Java objects, because they will not be respected if a
 147 // that object is locked using the Java locking mechanism.
 148 //
 149 //                NOTE WELL!!
 150 //
 151 // See orderAccess.hpp.  We assume throughout the VM that MutexLocker's


< prev index next >