aboutsummaryrefslogtreecommitdiff
path: root/disassembler.cc
diff options
context:
space:
mode:
authorSamuel Huang <huangs@chromium.org>2018-03-13 21:35:53 +0000
committerEdward Lesmes <ehmaldonado@google.com>2021-07-23 21:52:01 +0000
commit56a6ff47bca7087db1916b2beeedee283cd1caf2 (patch)
tree4dba54508860de2e38422e938f49a9d8b9666155 /disassembler.cc
parent06f1ae9aaca969ee95ef840f22b6b461c304542d (diff)
downloadzucchini-56a6ff47bca7087db1916b2beeedee283cd1caf2.tar.gz
[Zucchini] Zucchini-gen: Make number of CreateEquivalenceMap() generations depend on Disassembler.
The number of CreateEquivalenceMap() iterations used be constant kNumIteraitons = 2. This CL makes the value depend on architecture. Current assignment: - DisassemblerNoOp: 1, since no pointers are identified (though in this case, CreateEquivalenceMap() should not be called). - DisassemblerWin32: 2. Upcoming DisassemblerDex will use 4. Also applying generic cleanups on headers and comments. Bug: 729154 Change-Id: Ia12d98fcba500e4c81c8a5d356ce4cadf424ffde Reviewed-on: https://chromium-review.googlesource.com/961273 Reviewed-by: agrieve <agrieve@chromium.org> Commit-Queue: Samuel Huang <huangs@chromium.org> Cr-Commit-Position: refs/heads/master@{#542919} NOKEYCHECK=True GitOrigin-RevId: 55aea0a875b80e614464fdd157d9717471f9d64f
Diffstat (limited to 'disassembler.cc')
-rw-r--r--disassembler.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/disassembler.cc b/disassembler.cc
index 18527a7..012e5ef 100644
--- a/disassembler.cc
+++ b/disassembler.cc
@@ -8,6 +8,8 @@
namespace zucchini {
+/******** ReferenceGroup ********/
+
std::unique_ptr<ReferenceReader> ReferenceGroup::GetReader(
offset_t lower,
offset_t upper,
@@ -25,12 +27,16 @@ std::unique_ptr<ReferenceReader> ReferenceGroup::GetReader(
std::unique_ptr<ReferenceWriter> ReferenceGroup::GetWriter(
MutableBufferView image,
Disassembler* disasm) const {
- DCHECK_EQ(image.begin(), disasm->GetImage().begin());
+ DCHECK_EQ(image.begin(), disasm->image().begin());
DCHECK_EQ(image.size(), disasm->size());
return (disasm->*writer_factory_)(image);
}
-Disassembler::Disassembler() = default;
+/******** Disassembler ********/
+
+Disassembler::Disassembler(int num_equivalence_iterations)
+ : num_equivalence_iterations_(num_equivalence_iterations) {}
+
Disassembler::~Disassembler() = default;
} // namespace zucchini