packfile: use hashmap_entry in delta_base_cache_entry

This hashmap_entry_init function is intended to take a
hashmap_entry struct pointer, not a hashmap struct pointer.

This was not noticed because hashmap_entry_init takes a "void *"
arg instead of "struct hashmap_entry *", and the hashmap struct
is larger and can be cast into a hashmap_entry struct without
data corruption.

This has the beneficial side effect of reducing the size of
a delta_base_cache_entry from 104 bytes to 72 bytes on 64-bit
systems.

Signed-off-by: Eric Wong <e@80x24.org>
Reviewed-by: Derrick Stolee <stolee@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Eric Wong 2019-10-06 23:30:26 +00:00 committed by Junio C Hamano
parent 12878c8351
commit d0a48a0a1d

View File

@ -1361,7 +1361,7 @@ struct delta_base_cache_key {
};
struct delta_base_cache_entry {
struct hashmap hash;
struct hashmap_entry ent;
struct delta_base_cache_key key;
struct list_head lru;
void *data;