[Lldb-commits] [PATCH] D51578: DWARFConcatenatingDataExtractor for D32167

Jan Kratochvil via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Sun Sep 2 13:30:09 PDT 2018


jankratochvil created this revision.
jankratochvil added reviewers: clayborg, labath, davide.
jankratochvil added a project: LLDB.
Herald added subscribers: JDevlieghere, aprantl, mgorny.

Tried to address Greg Clayton's performance concerns <https://reviews.llvm.org/D32167#1215821> here:
Rebased https://reviews.llvm.org/D32167:

  real=0m0.909s user=0m14.254s

Rebased https://reviews.llvm.org/D32167 patched by DWARFConcatenatingDataExtractor:

  real=0m0.927s user=0m14.405s

Built by `clang-7.0.0-0.6.rc2.fc30.x86_64` as `RelWithDebInfo`. Tested by `image lookup --type` (to force manual indexing) on DWARF-3 `.debug_info`-only 613MB file with no index.

There is just an additional SmallVector.size() comparison + two indirect fetches.

With this patch one could revert the new `GetData()` from https://reviews.llvm.org/D46606 but the code may be cleaner with it anyway. It is just no longer needed to be virtual so this patch removes its virtuality.

Rebased https://reviews.llvm.org/D32167:

  git clone -b gdbtypes git://git.jankratochvil.net/lldb
  https://people.redhat.com/jkratoch/lldb-D32167.patch

Rebased https://reviews.llvm.org/D32167 patched by DWARFConcatenatingDataExtractor - this patch:

  git clone -b concat   git://git.jankratochvil.net/lldb
  https://people.redhat.com/jkratoch/lldb-D32167-2018-09-02.patch


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D51578

Files:
  include/lldb/lldb-forward.h
  source/Plugins/SymbolFile/DWARF/CMakeLists.txt
  source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
  source/Plugins/SymbolFile/DWARF/DWARFASTParserGo.cpp
  source/Plugins/SymbolFile/DWARF/DWARFAttribute.h
  source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp
  source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h
  source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
  source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
  source/Plugins/SymbolFile/DWARF/DWARFConcatenatingDataExtractor.cpp
  source/Plugins/SymbolFile/DWARF/DWARFConcatenatingDataExtractor.h
  source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h
  source/Plugins/SymbolFile/DWARF/DWARFDebugInfo.cpp
  source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
  source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
  source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
  source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
  source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.cpp
  source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.h
  source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
  source/Plugins/SymbolFile/DWARF/DWARFUnit.h
  source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
  source/Plugins/SymbolFile/DWARF/HashedNameToDIE.h
  source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51578.163649.patch
Type: text/x-patch
Size: 40933 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20180902/01fe7554/attachment-0001.bin>


More information about the lldb-commits mailing list