Allow to symbolize multiple addresses at once.
Bug: 138725313
Change-Id: I9012332d345b7062669e06bd30a2a366031d94f7
diff --git a/tools/trace_to_text/local_symbolizer.cc b/tools/trace_to_text/local_symbolizer.cc
index 9b30bb3..dde9ea0 100644
--- a/tools/trace_to_text/local_symbolizer.cc
+++ b/tools/trace_to_text/local_symbolizer.cc
@@ -321,16 +321,19 @@
}
return result;
}
-
-std::vector<SymbolizedFrame> LocalSymbolizer::Symbolize(
+std::vector<std::vector<SymbolizedFrame>> LocalSymbolizer::Symbolize(
const std::string& mapping_name,
const std::string& build_id,
- uint64_t address) {
+ const std::vector<uint64_t>& addresses) {
base::Optional<std::string> binary =
finder_.FindBinary(mapping_name, build_id);
if (!binary)
return {};
- return llvm_symbolizer_.Symbolize(*binary, address);
+ std::vector<std::vector<SymbolizedFrame>> result;
+ result.reserve(addresses.size());
+ for (uint64_t address : addresses)
+ result.emplace_back(llvm_symbolizer_.Symbolize(*binary, address));
+ return result;
}
LocalSymbolizer::~LocalSymbolizer() = default;