diff options
| author | Phillip Wood <phillip.wood@dunelm.org.uk> | 2026-01-26 10:48:52 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2026-01-26 08:38:29 -0800 |
| commit | 5086213bd2f44fdc793fd8a081fd1c40a3267c44 (patch) | |
| tree | 2988106692ec3e663c2ca84bc5d9680b17be2fa0 /xdiff | |
| parent | c27afcbfd0f440f410758432e2fe11a16fb2b360 (diff) | |
| download | git-5086213bd2f44fdc793fd8a081fd1c40a3267c44.tar.xz | |
xdiff: remove unused data from xdlclass_t
Prior to commit 6d507bd41a (xdiff: delete fields ha, line, size
in xdlclass_t in favor of an xrecord_t, 2025-09-26) xdlclass_t
carried a copy of all the fields in xrecord_t. That commit embedded
xrecord_t in xdlclass_t to make it easier to change the types of
the fields in xrecord_t. However commit 6a26019c81 (xdiff: split
xrecord_t.ha into line_hash and minimal_perfect_hash, 2025-11-18)
added the "minimal_perfect_hash" field to xrecord_t which is not
used by xdlclass_t. To avoid wasting space stop copying the whole
of xrecord_t and just copy the pointer and length that we need to
intern the line. Together with the previous commit this effectively
reverts 6d507bd41a.
Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'xdiff')
| -rw-r--r-- | xdiff/xprepare.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/xdiff/xprepare.c b/xdiff/xprepare.c index 08e5d3f4df..cd4fc405eb 100644 --- a/xdiff/xprepare.c +++ b/xdiff/xprepare.c @@ -36,7 +36,8 @@ typedef struct s_xdlclass { uint64_t line_hash; struct s_xdlclass *next; - xrecord_t rec; + const uint8_t *ptr; + size_t size; long idx; long len1, len2; } xdlclass_t; @@ -101,7 +102,7 @@ static int xdl_classify_record(unsigned int pass, xdlclassifier_t *cf, xrecord_t hi = XDL_HASHLONG(line_hash, cf->hbits); for (rcrec = cf->rchash[hi]; rcrec; rcrec = rcrec->next) if (rcrec->line_hash == line_hash && - xdl_recmatch((const char *)rcrec->rec.ptr, (long)rcrec->rec.size, + xdl_recmatch((const char *)rcrec->ptr, (long)rcrec->size, (const char *)rec->ptr, (long)rec->size, cf->flags)) break; @@ -115,7 +116,8 @@ static int xdl_classify_record(unsigned int pass, xdlclassifier_t *cf, xrecord_t return -1; cf->rcrecs[rcrec->idx] = rcrec; rcrec->line_hash = line_hash; - rcrec->rec = *rec; + rcrec->ptr = rec->ptr; + rcrec->size = rec->size; rcrec->len1 = rcrec->len2 = 0; rcrec->next = cf->rchash[hi]; cf->rchash[hi] = rcrec; |
