[Lldb-commits] [PATCH] D32823: Remove an expensive lock from Timer

Scott Smith via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed May 3 12:34:53 PDT 2017


scott.smith created this revision.

The Timer destructor would grab a global mutex in order to update execution time.  Add a class to define a category once, statically; the class adds itself to an atomic singly linked list, and thus subsequent updates only need to use an atomic rather than grab a lock and perform a hashtable lookup.


Repository:
  rL LLVM

https://reviews.llvm.org/D32823

Files:
  include/lldb/Core/Timer.h
  source/API/SystemInitializerFull.cpp
  source/Commands/CommandObjectTarget.cpp
  source/Core/Disassembler.cpp
  source/Core/Mangled.cpp
  source/Core/Module.cpp
  source/Core/Timer.cpp
  source/Host/common/Symbols.cpp
  source/Initialization/SystemInitializerCommon.cpp
  source/Interpreter/CommandInterpreter.cpp
  source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
  source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
  source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
  source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
  source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
  source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
  source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp
  source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp
  source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp
  source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
  source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
  source/Symbol/DWARFCallFrameInfo.cpp
  source/Symbol/ObjectFile.cpp
  source/Symbol/Symtab.cpp
  source/Target/Target.cpp
  source/Target/TargetList.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32823.97708.patch
Type: text/x-patch
Size: 42819 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20170503/90efce1a/attachment-0001.bin>


More information about the lldb-commits mailing list