aboutsummaryrefslogtreecommitdiff
path: root/equivalence_map.cc
diff options
context:
space:
mode:
authorEtienne Pierre-doray <etiennep@chromium.org>2018-08-13 18:49:00 +0000
committerCopybara-Service <copybara-worker@google.com>2021-07-25 20:34:45 -0700
commit8f9a9e7376eac67e03f3f2aea2c020132f9f2fe9 (patch)
tree6cca9d6c234f1bfc0d6f528e8de798fca318f064 /equivalence_map.cc
parente57c4e6bb4c122686c16f40e0b9d50a2e683d42b (diff)
downloadzucchini-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.cc7
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)