diff options
author | Chris Bieneman <beanz@apple.com> | 2014-09-19 21:38:20 +0000 |
---|---|---|
committer | Chris Bieneman <beanz@apple.com> | 2014-09-19 21:38:20 +0000 |
commit | 194cdff88eb67b24c964de0a095db4010fc68f9f (patch) | |
tree | bfa8d90f640d8877f004eb2caad55f2e2b2bfb63 /llvm/lib/ExecutionEngine | |
parent | f85c6dfa4534719dcf105c3a5ddcbdaf8d6d127e (diff) | |
download | bcm5719-llvm-194cdff88eb67b24c964de0a095db4010fc68f9f.tar.gz bcm5719-llvm-194cdff88eb67b24c964de0a095db4010fc68f9f.zip |
Converting the JITDebugLock mutex to a ManagedStatic to avoid the static constructor and destructor.
llvm-svn: 218154
Diffstat (limited to 'llvm/lib/ExecutionEngine')
-rw-r--r-- | llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp index 85465715873..dfa3a203ac3 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp @@ -101,7 +101,7 @@ private: /// Lock used to serialize all jit registration events, since they /// modify global variables. -llvm::sys::Mutex JITDebugLock; +ManagedStatic<sys::Mutex> JITDebugLock; /// Do the registration. void NotifyDebugger(jit_code_entry* JITCodeEntry) { @@ -121,7 +121,7 @@ void NotifyDebugger(jit_code_entry* JITCodeEntry) { GDBJITRegistrar::~GDBJITRegistrar() { // Free all registered object files. - llvm::MutexGuard locked(JITDebugLock); + llvm::MutexGuard locked(*JITDebugLock); for (RegisteredObjectBufferMap::iterator I = ObjectBufferMap.begin(), E = ObjectBufferMap.end(); I != E; ++I) { // Call the private method that doesn't update the map so our iterator @@ -137,7 +137,7 @@ void GDBJITRegistrar::registerObject(const ObjectBuffer &Object) { size_t Size = Object.getBufferSize(); assert(Buffer && "Attempt to register a null object with a debugger."); - llvm::MutexGuard locked(JITDebugLock); + llvm::MutexGuard locked(*JITDebugLock); assert(ObjectBufferMap.find(Buffer) == ObjectBufferMap.end() && "Second attempt to perform debug registration."); jit_code_entry* JITCodeEntry = new jit_code_entry(); @@ -156,7 +156,7 @@ void GDBJITRegistrar::registerObject(const ObjectBuffer &Object) { bool GDBJITRegistrar::deregisterObject(const ObjectBuffer& Object) { const char *Buffer = Object.getBufferStart(); - llvm::MutexGuard locked(JITDebugLock); + llvm::MutexGuard locked(*JITDebugLock); RegisteredObjectBufferMap::iterator I = ObjectBufferMap.find(Buffer); if (I != ObjectBufferMap.end()) { |