[Lldb-commits] [PATCH] D20278: first pass for removing Mutex for std::{, recursive_}mutex

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Sun May 15 19:26:54 PDT 2016


Personally I'm strongly in favor of standardizing on builtin language
constructs.

We already use std mutex in some places, and llvm does too, so i see no
issue with compiler support. I can't review the patch at the moment, but
please do make sure it's clang formatted
On Sun, May 15, 2016 at 6:10 PM Saleem Abdulrasool <compnerd at compnerd.org>
wrote:

> compnerd created this revision.
> compnerd added reviewers: clayborg, zturner.
> compnerd added a subscriber: lldb-commits.
> Herald added a subscriber: emaste.
>
> This is a pretty straightforward first pass over removing a number of uses
> of Mutex in favor of std::mutex or std::recursive_mutex.  The problem is
> that there are interfaces which take `Mutex::Locker &` to lock internal
> locks.  This patch cleans up most of the easy cases.  The only non-trivial
> change is in `CommandObjectTarget.cpp`  where a `Mutex::Locker` was split
> into two.
>
> Although the patch is trivial, the question that I have is whether we
> should go ahead with this change and if doing it in multiple passes is
> reasonable.
>
> http://reviews.llvm.org/D20278
>
> Files:
>   include/lldb/Breakpoint/BreakpointLocationList.h
>   include/lldb/Breakpoint/BreakpointSite.h
>   include/lldb/Breakpoint/BreakpointSiteList.h
>   include/lldb/Core/Broadcaster.h
>   include/lldb/Core/Communication.h
>   include/lldb/Core/History.h
>   include/lldb/Core/IOHandler.h
>   include/lldb/Core/Listener.h
>   include/lldb/Core/Module.h
>   include/lldb/Core/ModuleSpec.h
>   include/lldb/Core/StreamTee.h
>   include/lldb/Core/ThreadSafeSTLMap.h
>   include/lldb/Core/ThreadSafeValue.h
>   include/lldb/Core/ValueObject.h
>   include/lldb/DataFormatters/FormatCache.h
>   include/lldb/DataFormatters/FormatManager.h
>   include/lldb/DataFormatters/FormattersContainer.h
>   include/lldb/DataFormatters/TypeCategory.h
>   include/lldb/DataFormatters/TypeCategoryMap.h
>   include/lldb/Host/Editline.h
>   include/lldb/Host/common/NativeBreakpointList.h
>   include/lldb/Host/common/NativeProcessProtocol.h
>   include/lldb/Host/posix/ConnectionFileDescriptorPosix.h
>   include/lldb/Initialization/SystemLifetimeManager.h
>   include/lldb/Interpreter/CommandHistory.h
>   include/lldb/Symbol/FuncUnwinders.h
>   include/lldb/Target/JITLoaderList.h
>   include/lldb/Target/Platform.h
>   include/lldb/Target/SectionLoadHistory.h
>   include/lldb/Target/SectionLoadList.h
>   include/lldb/Target/TargetList.h
>   include/lldb/Target/Thread.h
>   include/lldb/Target/ThreadPlan.h
>   include/lldb/Target/Unwind.h
>   include/lldb/Utility/SharedCluster.h
>   source/API/SBDebugger.cpp
>   source/Breakpoint/BreakpointLocationList.cpp
>   source/Breakpoint/BreakpointSite.cpp
>   source/Breakpoint/BreakpointSiteList.cpp
>   source/Commands/CommandObjectTarget.cpp
>   source/Core/Broadcaster.cpp
>   source/Core/Communication.cpp
>   source/Core/Debugger.cpp
>   source/Core/IOHandler.cpp
>   source/Core/Listener.cpp
>   source/Core/Log.cpp
>   source/Core/Module.cpp
>   source/Core/PluginManager.cpp
>   source/Core/Timer.cpp
>   source/DataFormatters/FormatCache.cpp
>   source/DataFormatters/FormatManager.cpp
>   source/DataFormatters/TypeCategory.cpp
>   source/DataFormatters/TypeCategoryMap.cpp
>   source/Expression/IRExecutionUnit.cpp
>   source/Host/common/Editline.cpp
>   source/Host/common/NativeBreakpointList.cpp
>   source/Host/common/NativeProcessProtocol.cpp
>   source/Host/posix/ConnectionFileDescriptorPosix.cpp
>   source/Initialization/SystemLifetimeManager.cpp
>   source/Interpreter/CommandHistory.cpp
>   source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
>   source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.h
>   source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
>   source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
>
> source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp
>
> source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h
>
> source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
>   source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
>   source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
>   source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h
>   source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
>   source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
>   source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
>   source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
>   source/Plugins/Platform/MacOSX/PlatformAppleSimulator.cpp
>   source/Plugins/Platform/MacOSX/PlatformAppleTVSimulator.cpp
>   source/Plugins/Platform/MacOSX/PlatformAppleWatchSimulator.cpp
>   source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
>   source/Plugins/Platform/MacOSX/PlatformiOSSimulator.cpp
>   source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
>   source/Plugins/Process/FreeBSD/ProcessFreeBSD.h
>   source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
>   source/Plugins/Process/Utility/HistoryUnwind.cpp
>   source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
>   source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
>   source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
>   source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
>   source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h
>
> source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
>   source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h
>   source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
>   source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
>   source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
>   source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
>   source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
>   source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
>   source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.h
>   source/Symbol/FuncUnwinders.cpp
>   source/Symbol/ObjectFile.cpp
>   source/Symbol/SymbolVendor.cpp
>   source/Target/JITLoaderList.cpp
>   source/Target/Platform.cpp
>   source/Target/Process.cpp
>   source/Target/SectionLoadHistory.cpp
>   source/Target/SectionLoadList.cpp
>   source/Target/TargetList.cpp
>   source/Target/Thread.cpp
>   source/Target/ThreadPlan.cpp
>   source/Utility/SharingPtr.cpp
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160516/06f68717/attachment.html>


More information about the lldb-commits mailing list