src/share/vm/runtime/mutexLocker.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/runtime/mutexLocker.hpp Wed Jan 15 01:42:35 2014
--- new/src/share/vm/runtime/mutexLocker.hpp Wed Jan 15 01:42:35 2014
*** 41,51 ****
--- 41,51 ----
#endif
// Mutexes used in the VM.
extern Mutex* Patching_lock; // a lock used to guard code patching of compiled code
! extern Monitor* SystemDictionary_lock; // a lock on the system dictonary
! extern Monitor* SystemDictionary_lock; // a lock on the system dictionary
extern Mutex* PackageTable_lock; // a lock on the class loader package table
extern Mutex* CompiledIC_lock; // a lock used to guard compiled IC patching and access
extern Mutex* InlineCacheBuffer_lock; // a lock used to guard the InlineCacheBuffer
extern Mutex* VMStatistic_lock; // a lock used to guard statistics count increment
extern Mutex* JNIGlobalHandle_lock; // a lock on creating JNI global handles
*** 343,354 ****
--- 343,354 ----
//
// A special MutexLocker that allows:
// - reentrant locking
// - locking out of order
//
! // Only too be used for verify code, where we can relaxe out dead-lock
! // dection code a bit (unsafe, but probably ok). This code is NEVER to
! // detection code a bit (unsafe, but probably ok). This code is NEVER to
// be included in a product version.
//
class VerifyMutexLocker: StackObj {
private:
Monitor * _mutex;
*** 356,366 ****
--- 356,366 ----
public:
VerifyMutexLocker(Monitor * mutex) {
_mutex = mutex;
_reentrant = mutex->owned_by_self();
if (!_reentrant) {
! // We temp. diable strict safepoint checking, while we require the lock
! // We temp. disable strict safepoint checking, while we require the lock
FlagSetting fs(StrictSafepointChecks, false);
_mutex->lock();
}
}
src/share/vm/runtime/mutexLocker.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File