37 // eliminating the indirection and using instances instead. |
37 // eliminating the indirection and using instances instead. |
38 // Consider using GCC's __read_mostly. |
38 // Consider using GCC's __read_mostly. |
39 |
39 |
40 Mutex* Patching_lock = NULL; |
40 Mutex* Patching_lock = NULL; |
41 Monitor* SystemDictionary_lock = NULL; |
41 Monitor* SystemDictionary_lock = NULL; |
42 Mutex* PackageTable_lock = NULL; |
42 Mutex* Module_lock = NULL; |
43 Mutex* CompiledIC_lock = NULL; |
43 Mutex* CompiledIC_lock = NULL; |
44 Mutex* InlineCacheBuffer_lock = NULL; |
44 Mutex* InlineCacheBuffer_lock = NULL; |
45 Mutex* VMStatistic_lock = NULL; |
45 Mutex* VMStatistic_lock = NULL; |
46 Mutex* JNIGlobalHandle_lock = NULL; |
46 Mutex* JNIGlobalHandle_lock = NULL; |
47 Mutex* JNIHandleBlockFreeList_lock = NULL; |
47 Mutex* JNIHandleBlockFreeList_lock = NULL; |
204 def(Patching_lock , Mutex , special, true, Monitor::_safepoint_check_never); // used for safepointing and code patching. |
204 def(Patching_lock , Mutex , special, true, Monitor::_safepoint_check_never); // used for safepointing and code patching. |
205 def(Service_lock , Monitor, special, true, Monitor::_safepoint_check_never); // used for service thread operations |
205 def(Service_lock , Monitor, special, true, Monitor::_safepoint_check_never); // used for service thread operations |
206 def(JmethodIdCreation_lock , Mutex , leaf, true, Monitor::_safepoint_check_always); // used for creating jmethodIDs. |
206 def(JmethodIdCreation_lock , Mutex , leaf, true, Monitor::_safepoint_check_always); // used for creating jmethodIDs. |
207 |
207 |
208 def(SystemDictionary_lock , Monitor, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread |
208 def(SystemDictionary_lock , Monitor, leaf, true, Monitor::_safepoint_check_always); // lookups done by VM thread |
209 def(PackageTable_lock , Mutex , leaf, false, Monitor::_safepoint_check_always); |
209 def(Module_lock , Mutex , leaf+2, true, Monitor::_safepoint_check_always); |
210 def(InlineCacheBuffer_lock , Mutex , leaf, true, Monitor::_safepoint_check_always); |
210 def(InlineCacheBuffer_lock , Mutex , leaf, true, Monitor::_safepoint_check_always); |
211 def(VMStatistic_lock , Mutex , leaf, false, Monitor::_safepoint_check_always); |
211 def(VMStatistic_lock , Mutex , leaf, false, Monitor::_safepoint_check_always); |
212 def(ExpandHeap_lock , Mutex , leaf, true, Monitor::_safepoint_check_always); // Used during compilation by VM thread |
212 def(ExpandHeap_lock , Mutex , leaf, true, Monitor::_safepoint_check_always); // Used during compilation by VM thread |
213 def(JNIHandleBlockFreeList_lock , Mutex , leaf, true, Monitor::_safepoint_check_never); // handles are used by VM thread |
213 def(JNIHandleBlockFreeList_lock , Mutex , leaf, true, Monitor::_safepoint_check_never); // handles are used by VM thread |
214 def(SignatureHandlerLibrary_lock , Mutex , leaf, false, Monitor::_safepoint_check_always); |
214 def(SignatureHandlerLibrary_lock , Mutex , leaf, false, Monitor::_safepoint_check_always); |