[all-commits] [llvm/llvm-project] aeda12: Add lookup functions for efficient lookups of addr...
Greg Clayton via All-commits
all-commits at lists.llvm.org
Thu Dec 5 16:50:09 PST 2019
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: aeda128a96c4ac9eecef7563f4cf07dfcd2af0db
https://github.com/llvm/llvm-project/commit/aeda128a96c4ac9eecef7563f4cf07dfcd2af0db
Author: Greg Clayton <gclayton at fb.com>
Date: 2019-12-05 (Thu, 05 Dec 2019)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
M llvm/include/llvm/DebugInfo/GSYM/InlineInfo.h
M llvm/include/llvm/DebugInfo/GSYM/LineTable.h
A llvm/include/llvm/DebugInfo/GSYM/LookupResult.h
M llvm/include/llvm/DebugInfo/GSYM/Range.h
M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
M llvm/lib/DebugInfo/GSYM/InlineInfo.cpp
M llvm/lib/DebugInfo/GSYM/LineTable.cpp
A llvm/lib/DebugInfo/GSYM/LookupResult.cpp
M llvm/lib/DebugInfo/GSYM/Range.cpp
M llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
Log Message:
-----------
Add lookup functions for efficient lookups of addresses when using GsymReader classes.
Summary:
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.
Reviewers: labath, aprantl
Subscribers: mgorny, hiraditya, llvm-commits, lldb-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70993
More information about the All-commits
mailing list