diff options
author | Etienne Pierre-doray <etiennep@chromium.org> | 2018-08-13 18:49:00 +0000 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2021-07-25 20:34:45 -0700 |
commit | 8f9a9e7376eac67e03f3f2aea2c020132f9f2fe9 (patch) | |
tree | 6cca9d6c234f1bfc0d6f528e8de798fca318f064 /equivalence_map.cc | |
parent | e57c4e6bb4c122686c16f40e0b9d50a2e683d42b (diff) | |
download | zucchini-8f9a9e7376eac67e03f3f2aea2c020132f9f2fe9.tar.gz |
[Zucchini]: Remove IndirectReference.
IndirectReference brings complexity conceptually.
The purpose of IndirectReference was to speed-up look-ups.
Turns out that there is no significant impact on patching time
when using direct references.
Furthermore, this reduces coupling between TargetPool and ReferenceSet.
Change-Id: Ic50dbf59e483a7fa1480c8eb37f4b1d01a53401a
Reviewed-on: https://chromium-review.googlesource.com/1136578
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Reviewed-by: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582653}
NOKEYCHECK=True
GitOrigin-RevId: 0434f5b4a564c6295e62a3996826f8627b8aa617
Diffstat (limited to 'equivalence_map.cc')
-rw-r--r-- | equivalence_map.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/equivalence_map.cc b/equivalence_map.cc index 77551ec..b85fe9f 100644 --- a/equivalence_map.cc +++ b/equivalence_map.cc @@ -59,12 +59,13 @@ double GetTokenSimilarity( const ReferenceSet& old_ref_set = old_image_index.refs(old_type); const ReferenceSet& new_ref_set = new_image_index.refs(new_type); - IndirectReference old_reference = old_ref_set.at(src); - IndirectReference new_reference = new_ref_set.at(dst); + Reference old_reference = old_ref_set.at(src); + Reference new_reference = new_ref_set.at(dst); PoolTag pool_tag = old_ref_set.pool_tag(); double affinity = targets_affinities[pool_tag.value()].AffinityBetween( - old_reference.target_key, new_reference.target_key); + old_ref_set.target_pool().KeyForOffset(old_reference.target), + new_ref_set.target_pool().KeyForOffset(new_reference.target)); // Both targets are not associated, which implies a weak match. if (affinity == 0.0) |