[Courgette] Refactor: Add CourgetteFlow; improve courgette_tool.cc help text.
High level flows in Courgette has messy error-handling code that's
hard to read. This CL adds CourgetteFlow to absorb commonly used data
and error-handling code, and improve readability of high-level logic.
Additional changes:
- Fix Courgette-disadj (debugging flow), which likely was broken by
http://crrev.com/2793153003; Adjust() is called but AssemblyProgram
did not annotate Labels.
- Add BasicBuffer interface, implemented by RegionBuffer and (existing)
BufferedFileReader.
- PatchGeneratorX86_32::Transform(): Implemented TODO to instantiate
"new" AssemblyProgram to reduce Courgette-gen peak memory.
- courgette_tools.cc: Make help text more uniform.
BUG=660980
Review-Url: https://codereview.chromium.org/2827103002
Cr-Original-Commit-Position: refs/heads/master@{#467157}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8b91a4c9f1d554685ee98468c96ee3c374b6633c
9 files changed