Add serialization of inlines and inline origins for FastSourceLineResolver so that it can construct inlined frames later.

Bug: 1190878
Change-Id: Ie3b0f2f44e04e790501ea54680fe223974c750ab
Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/3294126
Reviewed-by: Joshua Peraza <jperaza@chromium.org>
This commit is contained in:
Zequan Wu 2021-11-30 16:29:00 -08:00 committed by Joshua Peraza
parent c472afe064
commit 0ae29c99d1
8 changed files with 379 additions and 27 deletions

View file

@ -99,6 +99,7 @@ class ModuleSerializer {
typedef BasicSourceLineResolver::Line Line;
typedef BasicSourceLineResolver::Function Function;
typedef BasicSourceLineResolver::PublicSymbol PublicSymbol;
typedef BasicSourceLineResolver::InlineOrigin InlineOrigin;
// Internal implementation for ConvertOneModule and ConvertAllModules methods.
bool SerializeModuleAndLoadIntoFastResolver(
@ -120,6 +121,7 @@ class ModuleSerializer {
linked_ptr<WindowsFrameInfo> > wfi_serializer_;
RangeMapSerializer<MemAddr, string> cfi_init_rules_serializer_;
StdMapSerializer<MemAddr, string> cfi_delta_rules_serializer_;
StdMapSerializer<int, linked_ptr<InlineOrigin>> inline_origin_serializer_;
};
} // namespace google_breakpad