79 extern Monitor* SATB_Q_CBL_mon; // Protects SATB Q
80 // completed buffer queue.
81 extern Monitor* DirtyCardQ_CBL_mon; // Protects dirty card Q
82 // completed buffer queue.
83 extern Mutex* Shared_DirtyCardQ_lock; // Lock protecting dirty card
84 // queue shared by
85 // non-Java threads.
86 extern Mutex* MarkStackFreeList_lock; // Protects access to the global mark stack free list.
87 extern Mutex* MarkStackChunkList_lock; // Protects access to the global mark stack chunk list.
88 extern Mutex* MonitoringSupport_lock; // Protects updates to the serviceability memory pools.
89 extern Mutex* ParGCRareEvent_lock; // Synchronizes various (rare) parallel GC ops.
90 extern Mutex* Compile_lock; // a lock held when Compilation is updating code (used to block CodeCache traversal, CHA updates, etc)
91 extern Monitor* MethodCompileQueue_lock; // a lock held when method compilations are enqueued, dequeued
92 extern Monitor* CompileThread_lock; // a lock held by compile threads during compilation system initialization
93 extern Monitor* Compilation_lock; // a lock used to pause compilation
94 extern Mutex* CompileTaskAlloc_lock; // a lock held when CompileTasks are allocated
95 extern Mutex* CompileStatistics_lock; // a lock held when updating compilation statistics
96 extern Mutex* DirectivesStack_lock; // a lock held when mutating the dirstack and ref counting directives
97 extern Mutex* MultiArray_lock; // a lock used to guard allocation of multi-dim arrays
98 extern Monitor* Terminator_lock; // a lock used to guard termination of the vm
99 extern Monitor* BeforeExit_lock; // a lock used to guard cleanups and shutdown hooks
100 extern Monitor* Notify_lock; // a lock used to synchronize the start-up of the vm
101 extern Mutex* ProfilePrint_lock; // a lock used to serialize the printing of profiles
102 extern Mutex* ExceptionCache_lock; // a lock used to synchronize exception cache updates
103 extern Mutex* OsrList_lock; // a lock used to serialize access to OSR queues
104 extern Mutex* NMethodSweeperStats_lock; // a lock used to serialize access to sweeper statistics
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
|
79 extern Monitor* SATB_Q_CBL_mon; // Protects SATB Q
80 // completed buffer queue.
81 extern Monitor* DirtyCardQ_CBL_mon; // Protects dirty card Q
82 // completed buffer queue.
83 extern Mutex* Shared_DirtyCardQ_lock; // Lock protecting dirty card
84 // queue shared by
85 // non-Java threads.
86 extern Mutex* MarkStackFreeList_lock; // Protects access to the global mark stack free list.
87 extern Mutex* MarkStackChunkList_lock; // Protects access to the global mark stack chunk list.
88 extern Mutex* MonitoringSupport_lock; // Protects updates to the serviceability memory pools.
89 extern Mutex* ParGCRareEvent_lock; // Synchronizes various (rare) parallel GC ops.
90 extern Mutex* Compile_lock; // a lock held when Compilation is updating code (used to block CodeCache traversal, CHA updates, etc)
91 extern Monitor* MethodCompileQueue_lock; // a lock held when method compilations are enqueued, dequeued
92 extern Monitor* CompileThread_lock; // a lock held by compile threads during compilation system initialization
93 extern Monitor* Compilation_lock; // a lock used to pause compilation
94 extern Mutex* CompileTaskAlloc_lock; // a lock held when CompileTasks are allocated
95 extern Mutex* CompileStatistics_lock; // a lock held when updating compilation statistics
96 extern Mutex* DirectivesStack_lock; // a lock held when mutating the dirstack and ref counting directives
97 extern Mutex* MultiArray_lock; // a lock used to guard allocation of multi-dim arrays
98 extern Monitor* Terminator_lock; // a lock used to guard termination of the vm
99 extern Monitor* InitCompleted_lock; // a lock used to signal threads waiting on init completed
100 extern Monitor* BeforeExit_lock; // a lock used to guard cleanups and shutdown hooks
101 extern Monitor* Notify_lock; // a lock used to synchronize the start-up of the vm
102 extern Mutex* ProfilePrint_lock; // a lock used to serialize the printing of profiles
103 extern Mutex* ExceptionCache_lock; // a lock used to synchronize exception cache updates
104 extern Mutex* OsrList_lock; // a lock used to serialize access to OSR queues
105 extern Mutex* NMethodSweeperStats_lock; // a lock used to serialize access to sweeper statistics
106
107 #ifndef PRODUCT
108 extern Mutex* FullGCALot_lock; // a lock to make FullGCALot MT safe
109 #endif // PRODUCT
110 extern Mutex* Debug1_lock; // A bunch of pre-allocated locks that can be used for tracing
111 extern Mutex* Debug2_lock; // down synchronization related bugs!
112 extern Mutex* Debug3_lock;
113
114 extern Mutex* RawMonitor_lock;
115 extern Mutex* PerfDataMemAlloc_lock; // a lock on the allocator for PerfData memory for performance data
116 extern Mutex* PerfDataManager_lock; // a long on access to PerfDataManager resources
117 extern Mutex* ParkerFreeList_lock;
118 extern Mutex* OopMapCacheAlloc_lock; // protects allocation of oop_map caches
119
|