[Lldb-commits] [PATCH] D70993: Add lookup functions for efficient lookups of addresses when using GsymReader classes.

Greg Clayton via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Dec 3 17:05:55 PST 2019


clayborg created this revision.
clayborg added reviewers: labath, aprantl.
Herald added subscribers: llvm-commits, hiraditya, mgorny.
Herald added a project: LLVM.
clayborg removed a subscriber: lldb-commits.
Herald added a subscriber: ormris.

Lookup functions are designed to not fully decode a FunctionInfo, LineTable or InlineInfo, they decode only what is needed into a LookupResult object. This allows lookups to avoid costly memory allocations and avoid parsing large amounts of information one a suitable match is found.

LookupResult objects contain the address that was looked up, the concrete function address range, the name of the concrete function, and a list of source locations. One for each inline function, and one for the concrete function. This allows one address to turn into multiple frames and improves the signal you get when symbolicating addresses in GSYM files.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D70993

Files:
  llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
  llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
  llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
  llvm/include/llvm/DebugInfo/GSYM/LineTable.h
  llvm/include/llvm/DebugInfo/GSYM/LookupResult.h
  llvm/include/llvm/DebugInfo/GSYM/Range.h
  llvm/lib/DebugInfo/GSYM/CMakeLists.txt
  llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
  llvm/lib/DebugInfo/GSYM/GsymReader.cpp
  llvm/lib/DebugInfo/GSYM/InlineInfo.cpp
  llvm/lib/DebugInfo/GSYM/LineTable.cpp
  llvm/lib/DebugInfo/GSYM/LookupResult.cpp
  llvm/lib/DebugInfo/GSYM/Range.cpp
  llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70993.232020.patch
Type: text/x-patch
Size: 35223 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20191204/19e1abdc/attachment-0001.bin>


More information about the lldb-commits mailing list