[Courgette] Refactor: Manage AssemblyProgram and EncodedProgram with scoped_ptr.
Previously naked pointers AssemblyProgram and EncodedProgram are used over the
place, and are deallocated using Delete{AssemblyProgram, EncodedProgram}().
In this CL we use scoped_ptr to manage the life cycles of these objects.
- Removed DeleteAssemblyProgram() and DeleteEncodedProgram() and replaced calls
with e.g., program.reset(nullptr); if the manual deallocation is a peak
memory optimization.
- Moved Encode() and ReadEncodedProgram() to the .h files matching the .cc files.
- Extracted DetectExecutableType() and ParseDetectedExecutable() from
disassembly.* to new files program_detector*c, since Disassembly is really an
implementation that caller's don't care about.
Committed: https://crrev.com/0a9cbf1781a114b35a4e0f4a834f2d24ade2e917
Cr-Commit-Position: refs/heads/master@{#372212}
Review URL: https://codereview.chromium.org/1629703002
Cr-Commit-Position: refs/heads/master@{#372436}
19 files changed