[Supersize] Refactor to prepare for LTO string support integration.
This CL refactors Supersize to prepare for bcanalyzer.py integration.
Details:
- Variable and function renames.
- Split _BulkObjectFileAnalyzerWorker.AnalyzePaths():
- _ClassifyPaths(): Explicitly store .a files and .o files. For LTO
we'll split .o into ELF and BC buckets.
- _MakeBatches(): Reusable later for ELF and BC separately.
- _DoBulkFork(): Reusable.
- _RunNm(): Absorbs nm-specific code, will add alternative.
- Split _BulkObjectFileAnalyzerWorker.AnalyzeStringLiterals()
- _ReadElfStringData(): Separation of concern.
- _GetEncodedRangesFromStringAddresses(): ELF-specific code. Will
add alternative.
- Restructure how results are merged, with more comments.
- Split ResolveStringPiecesIndirect() (was ResolveStringPieces()):
- _AnnotateStringData(): Reusable.
- Will add alternative: ResolveStringPieces().
Bug: 723798
Change-Id: Ib8e0e1785ae11652a17d060c9629e3986df0f93a
Reviewed-on: https://chromium-review.googlesource.com/1146775
Commit-Queue: Samuel Huang <huangs@chromium.org>
Reviewed-by:
Samuel Huang <huangs@chromium.org>
Reviewed-by:
agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#577274}
Showing
Please register or sign in to comment