[Lldb-commits] [PATCH] D20351: second pass over removal of Mutex and Condition
Saleem Abdulrasool via lldb-commits
lldb-commits at lists.llvm.org
Tue May 17 21:56:07 PDT 2016
compnerd created this revision.
compnerd added reviewers: clayborg, zturner.
compnerd added a subscriber: lldb-commits.
compnerd set the repository for this revision to rL LLVM.
Herald added subscribers: kubabrecka, emaste.
A second pass to remove use of Mutex and Condition. This removes cases where the mutex may be shared outside of the class or may be conditionally locked. With this patch applied the current remaining uses are limited to uses involving Condition and in the GDBCommunication code path where there is a helper mutex class. The third class of usage is DenseSet and DenseMap which allow the user to specify the mutex type (this may require a bit more tweak, template parameter is the approach which comes to mind).
The Condition changes will require changing TimeVal to chromo::duration, but we should be able to do that as well.
After this patch, I believe that there are only a handful of instances where we use the `lldb_private::Mutex` (~5) and the associated locations for `Mutex::Locker`.
Repository:
rL LLVM
http://reviews.llvm.org/D20351
Files:
include/lldb/Breakpoint/BreakpointList.h
include/lldb/Breakpoint/BreakpointLocation.h
include/lldb/Breakpoint/WatchpointList.h
include/lldb/Core/IOHandler.h
include/lldb/Core/ModuleList.h
include/lldb/Host/OptionParser.h
include/lldb/Interpreter/CommandObject.h
include/lldb/Symbol/CompactUnwindInfo.h
include/lldb/Symbol/DWARFCallFrameInfo.h
include/lldb/Symbol/Symtab.h
include/lldb/Symbol/TypeSystem.h
include/lldb/Symbol/UnwindTable.h
include/lldb/Target/ExecutionContext.h
include/lldb/Target/Memory.h
include/lldb/Target/Process.h
include/lldb/Target/QueueList.h
include/lldb/Target/StackFrame.h
include/lldb/Target/StackFrameList.h
include/lldb/Target/Target.h
include/lldb/Target/ThreadCollection.h
include/lldb/Target/ThreadList.h
include/lldb/Utility/Iterable.h
source/API/SBAddress.cpp
source/API/SBBreakpoint.cpp
source/API/SBBreakpointLocation.cpp
source/API/SBCommandInterpreter.cpp
source/API/SBDebugger.cpp
source/API/SBFrame.cpp
source/API/SBFunction.cpp
source/API/SBInstruction.cpp
source/API/SBProcess.cpp
source/API/SBSymbol.cpp
source/API/SBTarget.cpp
source/API/SBThread.cpp
source/API/SBValue.cpp
source/API/SBWatchpoint.cpp
source/Breakpoint/Breakpoint.cpp
source/Breakpoint/BreakpointList.cpp
source/Breakpoint/BreakpointLocation.cpp
source/Breakpoint/WatchpointList.cpp
source/Commands/CommandObjectBreakpoint.cpp
source/Commands/CommandObjectProcess.cpp
source/Commands/CommandObjectTarget.cpp
source/Commands/CommandObjectThread.cpp
source/Commands/CommandObjectWatchpoint.cpp
source/Core/IOHandler.cpp
source/Core/ModuleList.cpp
source/Core/SearchFilter.cpp
source/Host/common/OptionParser.cpp
source/Interpreter/Args.cpp
source/Interpreter/CommandObject.cpp
source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
source/Plugins/InstrumentationRuntime/AddressSanitizer/AddressSanitizerRuntime.cpp
source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp
source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
source/Plugins/OperatingSystem/Go/OperatingSystemGo.cpp
source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp
source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.cpp
source/Plugins/Process/MacOSX-Kernel/CommunicationKDP.h
source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
source/Symbol/ClangExternalASTSourceCommon.cpp
source/Symbol/CompactUnwindInfo.cpp
source/Symbol/DWARFCallFrameInfo.cpp
source/Symbol/Symtab.cpp
source/Symbol/TypeSystem.cpp
source/Symbol/UnwindTable.cpp
source/Target/ExecutionContext.cpp
source/Target/Language.cpp
source/Target/Memory.cpp
source/Target/Process.cpp
source/Target/QueueList.cpp
source/Target/StackFrame.cpp
source/Target/StackFrameList.cpp
source/Target/Target.cpp
source/Target/ThreadCollection.cpp
source/Target/ThreadList.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20351.57559.patch
Type: text/x-patch
Size: 232305 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160518/ff65207c/attachment-0001.bin>
More information about the lldb-commits
mailing list