76 // completed buffer queue.
77 extern Mutex* Shared_SATB_Q_lock; // Lock protecting SATB
78 // queue shared by
79 // non-Java threads.
80
81 extern Mutex* DirtyCardQ_FL_lock; // Protects dirty card Q
82 // buffer free list.
83 extern Monitor* DirtyCardQ_CBL_mon; // Protects dirty card Q
84 // completed buffer queue.
85 extern Mutex* Shared_DirtyCardQ_lock; // Lock protecting dirty card
86 // queue shared by
87 // non-Java threads.
88 // (see option ExplicitGCInvokesConcurrent)
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* MultiArray_lock; // a lock used to guard allocation of multi-dim arrays
97 extern Monitor* Terminator_lock; // a lock used to guard termination of the vm
98 extern Monitor* BeforeExit_lock; // a lock used to guard cleanups and shutdown hooks
99 extern Monitor* Notify_lock; // a lock used to synchronize the start-up of the vm
100 extern Monitor* Interrupt_lock; // a lock used for condition variable mediated interrupt processing
101 extern Monitor* ProfileVM_lock; // a lock used for profiling the VMThread
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
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
|
76 // completed buffer queue.
77 extern Mutex* Shared_SATB_Q_lock; // Lock protecting SATB
78 // queue shared by
79 // non-Java threads.
80
81 extern Mutex* DirtyCardQ_FL_lock; // Protects dirty card Q
82 // buffer free list.
83 extern Monitor* DirtyCardQ_CBL_mon; // Protects dirty card Q
84 // completed buffer queue.
85 extern Mutex* Shared_DirtyCardQ_lock; // Lock protecting dirty card
86 // queue shared by
87 // non-Java threads.
88 // (see option ExplicitGCInvokesConcurrent)
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 Monitor* Interrupt_lock; // a lock used for condition variable mediated interrupt processing
102 extern Monitor* ProfileVM_lock; // a lock used for profiling the VMThread
103 extern Mutex* ProfilePrint_lock; // a lock used to serialize the printing of profiles
104 extern Mutex* ExceptionCache_lock; // a lock used to synchronize exception cache updates
105 extern Mutex* OsrList_lock; // a lock used to serialize access to OSR queues
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
|