[PATCH] Change base mutex implementations to use STL-provided mutexes

Zachary Turner zturner at google.com
Fri Jun 6 16:34:45 PDT 2014


Remove the Mutex.h dependency on windows.h, and address various other review comments.

This solution is still less than ideal, because we need to include some windows preprocessor checks inside of Mutex.h.  The best solution in my opinion would require allowing some platform specific headers to be in the include tree  (for example, include\llvm\Support\Windows\CriticalSectionMutex.h).  This would remove all of the preprocessor code from Mutex.h, and allow anyone who needs this to simply write #include "llvm/Support/Windows/CriticalSectionMutex.h".

http://reviews.llvm.org/D4033

Files:
  include/llvm/ExecutionEngine/ExecutionEngine.h
  include/llvm/IR/ValueMap.h
  include/llvm/Support/Mutex.h
  include/llvm/Support/MutexGuard.h
  lib/CodeGen/PseudoSourceValue.cpp
  lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  lib/ExecutionEngine/ExecutionEngine.cpp
  lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
  lib/ExecutionEngine/JIT/JIT.cpp
  lib/ExecutionEngine/JIT/JITEmitter.cpp
  lib/ExecutionEngine/OProfileJIT/OProfileWrapper.cpp
  lib/ExecutionEngine/RuntimeDyld/GDBRegistrar.cpp
  lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
  lib/IR/LeakDetector.cpp
  lib/IR/LegacyPassManager.cpp
  lib/Support/CMakeLists.txt
  lib/Support/CrashRecoveryContext.cpp
  lib/Support/DynamicLibrary.cpp
  lib/Support/Mutex.cpp
  lib/Support/PluginLoader.cpp
  lib/Support/Statistic.cpp
  lib/Support/Threading.cpp
  lib/Support/Timer.cpp
  lib/Support/Unix/Mutex.inc
  lib/Support/Unix/Process.inc
  lib/Support/Unix/Signals.inc
  lib/Support/Windows/DynamicLibrary.inc
  lib/Support/Windows/Mutex.inc
  lib/Target/NVPTX/NVPTXUtilities.cpp
  unittests/IR/ValueMapTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4033.10195.patch
Type: text/x-patch
Size: 40109 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140606/ebc9b1c2/attachment.bin>


More information about the llvm-commits mailing list