64 // (also used by Safepoints too to block threads creation/destruction)
65 extern Monitor* CGC_lock; // used for coordination between
66 // fore- & background GC threads.
67 extern Monitor* STS_lock; // used for joining/leaving SuspendibleThreadSet.
68 extern Monitor* FullGCCount_lock; // in support of "concurrent" full gc
69 extern Mutex* SATB_Q_FL_lock; // Protects SATB Q
70 // buffer free list.
71 extern Monitor* SATB_Q_CBL_mon; // Protects SATB Q
72 // completed buffer queue.
73 extern Mutex* Shared_SATB_Q_lock; // Lock protecting SATB
74 // queue shared by
75 // non-Java threads.
76
77 extern Mutex* DirtyCardQ_FL_lock; // Protects dirty card Q
78 // buffer free list.
79 extern Monitor* DirtyCardQ_CBL_mon; // Protects dirty card Q
80 // completed buffer queue.
81 extern Mutex* Shared_DirtyCardQ_lock; // Lock protecting dirty card
82 // queue shared by
83 // non-Java threads.
84 extern Mutex* GlobalMarkStack_lock; // Protects access to the global mark stack.
85 // (see option ExplicitGCInvokesConcurrent)
86 extern Mutex* ParGCRareEvent_lock; // Synchronizes various (rare) parallel GC ops.
87 extern Mutex* Compile_lock; // a lock held when Compilation is updating code (used to block CodeCache traversal, CHA updates, etc)
88 extern Monitor* MethodCompileQueue_lock; // a lock held when method compilations are enqueued, dequeued
89 extern Monitor* CompileThread_lock; // a lock held by compile threads during compilation system initialization
90 extern Monitor* Compilation_lock; // a lock used to pause compilation
91 extern Mutex* CompileTaskAlloc_lock; // a lock held when CompileTasks are allocated
92 extern Mutex* CompileStatistics_lock; // a lock held when updating compilation statistics
93 extern Mutex* DirectivesStack_lock; // a lock held when mutating the dirstack and ref counting directives
94 extern Mutex* MultiArray_lock; // a lock used to guard allocation of multi-dim arrays
95 extern Monitor* Terminator_lock; // a lock used to guard termination of the vm
96 extern Monitor* BeforeExit_lock; // a lock used to guard cleanups and shutdown hooks
97 extern Monitor* Notify_lock; // a lock used to synchronize the start-up of the vm
98 extern Mutex* ProfilePrint_lock; // a lock used to serialize the printing of profiles
99 extern Mutex* ExceptionCache_lock; // a lock used to synchronize exception cache updates
100 extern Mutex* OsrList_lock; // a lock used to serialize access to OSR queues
101
102 #ifndef PRODUCT
103 extern Mutex* FullGCALot_lock; // a lock to make FullGCALot MT safe
104 #endif // PRODUCT
105 extern Mutex* Debug1_lock; // A bunch of pre-allocated locks that can be used for tracing
|
64 // (also used by Safepoints too to block threads creation/destruction)
65 extern Monitor* CGC_lock; // used for coordination between
66 // fore- & background GC threads.
67 extern Monitor* STS_lock; // used for joining/leaving SuspendibleThreadSet.
68 extern Monitor* FullGCCount_lock; // in support of "concurrent" full gc
69 extern Mutex* SATB_Q_FL_lock; // Protects SATB Q
70 // buffer free list.
71 extern Monitor* SATB_Q_CBL_mon; // Protects SATB Q
72 // completed buffer queue.
73 extern Mutex* Shared_SATB_Q_lock; // Lock protecting SATB
74 // queue shared by
75 // non-Java threads.
76
77 extern Mutex* DirtyCardQ_FL_lock; // Protects dirty card Q
78 // buffer free list.
79 extern Monitor* DirtyCardQ_CBL_mon; // Protects dirty card Q
80 // completed buffer queue.
81 extern Mutex* Shared_DirtyCardQ_lock; // Lock protecting dirty card
82 // queue shared by
83 // non-Java threads.
84 extern Mutex* MarkStackFreeList_lock; // Protects access to the global mark stack free list.
85 extern Mutex* MarkStackChunkList_lock; // Protects access to the global mark stack chunk list.
86 extern Mutex* ParGCRareEvent_lock; // Synchronizes various (rare) parallel GC ops.
87 extern Mutex* Compile_lock; // a lock held when Compilation is updating code (used to block CodeCache traversal, CHA updates, etc)
88 extern Monitor* MethodCompileQueue_lock; // a lock held when method compilations are enqueued, dequeued
89 extern Monitor* CompileThread_lock; // a lock held by compile threads during compilation system initialization
90 extern Monitor* Compilation_lock; // a lock used to pause compilation
91 extern Mutex* CompileTaskAlloc_lock; // a lock held when CompileTasks are allocated
92 extern Mutex* CompileStatistics_lock; // a lock held when updating compilation statistics
93 extern Mutex* DirectivesStack_lock; // a lock held when mutating the dirstack and ref counting directives
94 extern Mutex* MultiArray_lock; // a lock used to guard allocation of multi-dim arrays
95 extern Monitor* Terminator_lock; // a lock used to guard termination of the vm
96 extern Monitor* BeforeExit_lock; // a lock used to guard cleanups and shutdown hooks
97 extern Monitor* Notify_lock; // a lock used to synchronize the start-up of the vm
98 extern Mutex* ProfilePrint_lock; // a lock used to serialize the printing of profiles
99 extern Mutex* ExceptionCache_lock; // a lock used to synchronize exception cache updates
100 extern Mutex* OsrList_lock; // a lock used to serialize access to OSR queues
101
102 #ifndef PRODUCT
103 extern Mutex* FullGCALot_lock; // a lock to make FullGCALot MT safe
104 #endif // PRODUCT
105 extern Mutex* Debug1_lock; // A bunch of pre-allocated locks that can be used for tracing
|