117 extern Mutex* RawMonitor_lock; 118 extern Mutex* PerfDataMemAlloc_lock; // a lock on the allocator for PerfData memory for performance data 119 extern Mutex* PerfDataManager_lock; // a long on access to PerfDataManager resources 120 extern Mutex* ParkerFreeList_lock; 121 extern Mutex* OopMapCacheAlloc_lock; // protects allocation of oop_map caches 122 123 extern Mutex* FreeList_lock; // protects the free region list during safepoints 124 extern Mutex* OldSets_lock; // protects the old region sets 125 extern Monitor* RootRegionScan_lock; // used to notify that the CM threads have finished scanning the IM snapshot regions 126 127 extern Mutex* Management_lock; // a lock used to serialize JVM management 128 extern Monitor* Service_lock; // a lock used for service thread operation 129 extern Monitor* PeriodicTask_lock; // protects the periodic task structure 130 extern Monitor* RedefineClasses_lock; // locks classes from parallel redefinition 131 extern Monitor* ThreadsSMRDelete_lock; // Used by ThreadsSMRSupport to take pressure off the Threads_lock 132 extern Mutex* SharedDecoder_lock; // serializes access to the decoder during normal (not error reporting) use 133 extern Mutex* DCmdFactory_lock; // serialize access to DCmdFactory information 134 #if INCLUDE_NMT 135 extern Mutex* NMTQuery_lock; // serialize NMT Dcmd queries 136 #endif 137 #if INCLUDE_JFR 138 extern Mutex* JfrStacktrace_lock; // used to guard access to the JFR stacktrace table 139 extern Monitor* JfrMsg_lock; // protects JFR messaging 140 extern Mutex* JfrBuffer_lock; // protects JFR buffer operations 141 extern Mutex* JfrStream_lock; // protects JFR stream access 142 extern Monitor* JfrThreadSampler_lock; // used to suspend/resume JFR thread sampler 143 #endif 144 145 #ifndef SUPPORTS_NATIVE_CX8 146 extern Mutex* UnsafeJlong_lock; // provides Unsafe atomic updates to jlongs on platforms that don't support cx8 147 #endif 148 149 extern Mutex* MetaspaceExpand_lock; // protects Metaspace virtualspace and chunk expansions 150 extern Mutex* ClassLoaderDataGraph_lock; // protects CLDG list, needed for concurrent unloading 151 152 153 extern Monitor* CodeHeapStateAnalytics_lock; // lock print functions against concurrent analyze functions. 154 // Only used locally in PrintCodeCacheLayout processing. 155 156 // A MutexLocker provides mutual exclusion with respect to a given mutex | 117 extern Mutex* RawMonitor_lock; 118 extern Mutex* PerfDataMemAlloc_lock; // a lock on the allocator for PerfData memory for performance data 119 extern Mutex* PerfDataManager_lock; // a long on access to PerfDataManager resources 120 extern Mutex* ParkerFreeList_lock; 121 extern Mutex* OopMapCacheAlloc_lock; // protects allocation of oop_map caches 122 123 extern Mutex* FreeList_lock; // protects the free region list during safepoints 124 extern Mutex* OldSets_lock; // protects the old region sets 125 extern Monitor* RootRegionScan_lock; // used to notify that the CM threads have finished scanning the IM snapshot regions 126 127 extern Mutex* Management_lock; // a lock used to serialize JVM management 128 extern Monitor* Service_lock; // a lock used for service thread operation 129 extern Monitor* PeriodicTask_lock; // protects the periodic task structure 130 extern Monitor* RedefineClasses_lock; // locks classes from parallel redefinition 131 extern Monitor* ThreadsSMRDelete_lock; // Used by ThreadsSMRSupport to take pressure off the Threads_lock 132 extern Mutex* SharedDecoder_lock; // serializes access to the decoder during normal (not error reporting) use 133 extern Mutex* DCmdFactory_lock; // serialize access to DCmdFactory information 134 #if INCLUDE_NMT 135 extern Mutex* NMTQuery_lock; // serialize NMT Dcmd queries 136 #endif 137 #if INCLUDE_CDS && INCLUDE_JVMTI 138 extern Mutex* CDSClassFileStream_lock; // FileMapInfo::open_stream_for_jvmti 139 #endif 140 #if INCLUDE_JFR 141 extern Mutex* JfrStacktrace_lock; // used to guard access to the JFR stacktrace table 142 extern Monitor* JfrMsg_lock; // protects JFR messaging 143 extern Mutex* JfrBuffer_lock; // protects JFR buffer operations 144 extern Mutex* JfrStream_lock; // protects JFR stream access 145 extern Monitor* JfrThreadSampler_lock; // used to suspend/resume JFR thread sampler 146 #endif 147 148 #ifndef SUPPORTS_NATIVE_CX8 149 extern Mutex* UnsafeJlong_lock; // provides Unsafe atomic updates to jlongs on platforms that don't support cx8 150 #endif 151 152 extern Mutex* MetaspaceExpand_lock; // protects Metaspace virtualspace and chunk expansions 153 extern Mutex* ClassLoaderDataGraph_lock; // protects CLDG list, needed for concurrent unloading 154 155 156 extern Monitor* CodeHeapStateAnalytics_lock; // lock print functions against concurrent analyze functions. 157 // Only used locally in PrintCodeCacheLayout processing. 158 159 // A MutexLocker provides mutual exclusion with respect to a given mutex |