85 // queue shared by
86 // non-Java threads.
87 // (see option ExplicitGCInvokesConcurrent)
88 extern Mutex* ParGCRareEvent_lock; // Synchronizes various (rare) parallel GC ops.
89 extern Mutex* EvacFailureStack_lock; // guards the evac failure scan stack
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
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
|
85 // queue shared by
86 // non-Java threads.
87 // (see option ExplicitGCInvokesConcurrent)
88 extern Mutex* ParGCRareEvent_lock; // Synchronizes various (rare) parallel GC ops.
89 extern Mutex* EvacFailureStack_lock; // guards the evac failure scan stack
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 extern Mutex* ImageFileReaderTable_lock; // a lock used to synchronize image readers open/close
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
120 extern Mutex* FreeList_lock; // protects the free region list during safepoints
121 extern Monitor* SecondaryFreeList_lock; // protects the secondary free region list
122 extern Mutex* OldSets_lock; // protects the old region sets
123 extern Monitor* RootRegionScan_lock; // used to notify that the CM threads have finished scanning the IM snapshot regions
124 extern Mutex* MMUTracker_lock; // protects the MMU
125 // tracker data structures
|