67 extern Mutex* SATB_Q_FL_lock; // Protects SATB Q 68 // buffer free list. 69 extern Monitor* SATB_Q_CBL_mon; // Protects SATB Q 70 // completed buffer queue. 71 extern Mutex* Shared_SATB_Q_lock; // Lock protecting SATB 72 // queue shared by 73 // non-Java threads. 74 75 extern Mutex* DirtyCardQ_FL_lock; // Protects dirty card Q 76 // buffer free list. 77 extern Monitor* DirtyCardQ_CBL_mon; // Protects dirty card Q 78 // completed buffer queue. 79 extern Mutex* Shared_DirtyCardQ_lock; // Lock protecting dirty card 80 // queue shared by 81 // non-Java threads. 82 // (see option ExplicitGCInvokesConcurrent) 83 extern Mutex* ParGCRareEvent_lock; // Synchronizes various (rare) parallel GC ops. 84 extern Mutex* EvacFailureStack_lock; // guards the evac failure scan stack 85 extern Mutex* Compile_lock; // a lock held when Compilation is updating code (used to block CodeCache traversal, CHA updates, etc) 86 extern Monitor* MethodCompileQueue_lock; // a lock held when method compilations are enqueued, dequeued 87 #ifdef TIERED 88 extern Monitor* C1_lock; // a lock to ensure on single c1 compile is ever active 89 #endif // TIERED 90 extern Monitor* CompileThread_lock; // a lock held by compile threads during compilation system initialization 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* MultiArray_lock; // a lock used to guard allocation of multi-dim arrays 94 extern Monitor* Terminator_lock; // a lock used to guard termination of the vm 95 extern Monitor* BeforeExit_lock; // a lock used to guard cleanups and shutdown hooks 96 extern Monitor* Notify_lock; // a lock used to synchronize the start-up of the vm 97 extern Monitor* Interrupt_lock; // a lock used for condition variable mediated interrupt processing 98 extern Monitor* ProfileVM_lock; // a lock used for profiling the VMThread 99 extern Mutex* ProfilePrint_lock; // a lock used to serialize the printing of profiles 100 extern Mutex* ExceptionCache_lock; // a lock used to synchronize exception cache updates 101 extern Mutex* OsrList_lock; // a lock used to serialize access to OSR queues 102 103 #ifndef PRODUCT 104 extern Mutex* FullGCALot_lock; // a lock to make FullGCALot MT safe 105 #endif 106 extern Mutex* Debug1_lock; // A bunch of pre-allocated locks that can be used for tracing 107 extern Mutex* Debug2_lock; // down synchronization related bugs! 108 extern Mutex* Debug3_lock; 109 | 67 extern Mutex* SATB_Q_FL_lock; // Protects SATB Q 68 // buffer free list. 69 extern Monitor* SATB_Q_CBL_mon; // Protects SATB Q 70 // completed buffer queue. 71 extern Mutex* Shared_SATB_Q_lock; // Lock protecting SATB 72 // queue shared by 73 // non-Java threads. 74 75 extern Mutex* DirtyCardQ_FL_lock; // Protects dirty card Q 76 // buffer free list. 77 extern Monitor* DirtyCardQ_CBL_mon; // Protects dirty card Q 78 // completed buffer queue. 79 extern Mutex* Shared_DirtyCardQ_lock; // Lock protecting dirty card 80 // queue shared by 81 // non-Java threads. 82 // (see option ExplicitGCInvokesConcurrent) 83 extern Mutex* ParGCRareEvent_lock; // Synchronizes various (rare) parallel GC ops. 84 extern Mutex* EvacFailureStack_lock; // guards the evac failure scan stack 85 extern Mutex* Compile_lock; // a lock held when Compilation is updating code (used to block CodeCache traversal, CHA updates, etc) 86 extern Monitor* MethodCompileQueue_lock; // a lock held when method compilations are enqueued, dequeued 87 extern Monitor* CompileThread_lock; // a lock held by compile threads during compilation system initialization 88 extern Mutex* CompileTaskAlloc_lock; // a lock held when CompileTasks are allocated 89 extern Mutex* CompileStatistics_lock; // a lock held when updating compilation statistics 90 extern Mutex* MultiArray_lock; // a lock used to guard allocation of multi-dim arrays 91 extern Monitor* Terminator_lock; // a lock used to guard termination of the vm 92 extern Monitor* BeforeExit_lock; // a lock used to guard cleanups and shutdown hooks 93 extern Monitor* Notify_lock; // a lock used to synchronize the start-up of the vm 94 extern Monitor* Interrupt_lock; // a lock used for condition variable mediated interrupt processing 95 extern Monitor* ProfileVM_lock; // a lock used for profiling the VMThread 96 extern Mutex* ProfilePrint_lock; // a lock used to serialize the printing of profiles 97 extern Mutex* ExceptionCache_lock; // a lock used to synchronize exception cache updates 98 extern Mutex* OsrList_lock; // a lock used to serialize access to OSR queues 99 100 #ifndef PRODUCT 101 extern Mutex* FullGCALot_lock; // a lock to make FullGCALot MT safe 102 #endif 103 extern Mutex* Debug1_lock; // A bunch of pre-allocated locks that can be used for tracing 104 extern Mutex* Debug2_lock; // down synchronization related bugs! 105 extern Mutex* Debug3_lock; 106 |