Breakpad creates minidump files that sometimes have:
- linux maps textual content
- no MemoryInfoList
Right now unless the file has a MemoryInfoList we get no region information.
This patch:
- reads and caches the memory region info one time and sorts it for easy subsequent access
- get the region info from the best source in this order:
- linux maps info (if available)
- MemoryInfoList (if available)
- MemoryList or Memory64List
- returns memory region info for the gaps between regions (before the first and after the last)
This patch is a different patch that would replace: https://reviews.llvm.org/D55472
If we decide to go with this patch, then I will add tests.
Minor nit, but wherever possible, it's nice if we can eliminate private functions from a class's definition and move them to static internal-linkage functions in the implementation file. For example, I'm imagining you could re-write these as:
in the implementation file. It makes the header file smaller which is helpful when trying to read it and understand the functionality of a class, and also improves link time.