< prev index next >

src/share/vm/runtime/mutexLocker.hpp

Print this page
rev 7695 : 8069273: Reduce Hot Card Cache Lock contention
Reviewed-by: tschatzl


 105 
 106 #ifndef PRODUCT
 107 extern Mutex*   FullGCALot_lock;                 // a lock to make FullGCALot MT safe
 108 #endif // PRODUCT
 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 extern Mutex*   MMUTracker_lock;                 // protects the MMU
 124                                                  // tracker data structures
 125 extern Mutex*   HotCardCache_lock;               // protects the hot card cache
 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 
 131 #ifdef INCLUDE_TRACE
 132 extern Mutex*   JfrStacktrace_lock;              // used to guard access to the JFR stacktrace table
 133 extern Monitor* JfrMsg_lock;                     // protects JFR messaging
 134 extern Mutex*   JfrBuffer_lock;                  // protects JFR buffer operations
 135 extern Mutex*   JfrStream_lock;                  // protects JFR stream access
 136 extern Mutex*   JfrThreadGroups_lock;            // protects JFR access to Thread Groups
 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




 105 
 106 #ifndef PRODUCT
 107 extern Mutex*   FullGCALot_lock;                 // a lock to make FullGCALot MT safe
 108 #endif // PRODUCT
 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 extern Mutex*   MMUTracker_lock;                 // protects the MMU
 124                                                  // tracker data structures

 125 
 126 extern Mutex*   Management_lock;                 // a lock used to serialize JVM management
 127 extern Monitor* Service_lock;                    // a lock used for service thread operation
 128 extern Monitor* PeriodicTask_lock;               // protects the periodic task structure
 129 
 130 #ifdef INCLUDE_TRACE
 131 extern Mutex*   JfrStacktrace_lock;              // used to guard access to the JFR stacktrace table
 132 extern Monitor* JfrMsg_lock;                     // protects JFR messaging
 133 extern Mutex*   JfrBuffer_lock;                  // protects JFR buffer operations
 134 extern Mutex*   JfrStream_lock;                  // protects JFR stream access
 135 extern Mutex*   JfrThreadGroups_lock;            // protects JFR access to Thread Groups
 136 #endif
 137 
 138 #ifndef SUPPORTS_NATIVE_CX8
 139 extern Mutex*   UnsafeJlong_lock;                // provides Unsafe atomic updates to jlongs on platforms that don't support cx8
 140 #endif
 141 
 142 // A MutexLocker provides mutual exclusion with respect to a given mutex
 143 // for the scope which contains the locker.  The lock is an OS lock, not
 144 // an object lock, and the two do not interoperate.  Do not use Mutex-based


< prev index next >