René Scharfe <l.s.r@xxxxxx> writes: > Am 28.12.2018 um 19:04 schrieb Junio C Hamano: >> * jk/loose-object-cache (2018-11-24) 10 commits > ... > So this has hit master in the meantime. We discussed a sort performance > fix in [1]; I'll reply with a short series containing a cleaned-up and > rebased version as a follow-up. Thanks. -- >8 -- Subject: [PATCH 4/3] sha1-file.c: make odb_load_loose_cache() static Now there is only a single internal caller to this helper function that knows the implementation detail of the cache too much, hide it from outside world by making it static. Suggested-by: Jeff King <peff@xxxxxxxx> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- object-store.h | 7 ------- sha1-file.c | 24 +++++++++++++++--------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/object-store.h b/object-store.h index 2fb6c0e4db..e16aa38cae 100644 --- a/object-store.h +++ b/object-store.h @@ -47,13 +47,6 @@ void add_to_alternates_file(const char *dir); */ void add_to_alternates_memory(const char *dir); -/* - * Populate an odb's loose object cache for one particular subdirectory (i.e., - * the one that corresponds to the first byte of objects you're interested in, - * from 0 to 255 inclusive). - */ -void odb_load_loose_cache(struct object_directory *odb, int subdir_nr); - /* * Populate and return the loose object cache array corresponding to the * given object ID. diff --git a/sha1-file.c b/sha1-file.c index 2adc56cde4..936d216ad4 100644 --- a/sha1-file.c +++ b/sha1-file.c @@ -2150,15 +2150,12 @@ static int append_loose_object(const struct object_id *oid, const char *path, return 0; } -struct oid_array *odb_loose_cache(struct object_directory *odb, - const struct object_id *oid) -{ - int subdir_nr = oid->hash[0]; - odb_load_loose_cache(odb, subdir_nr); - return &odb->loose_objects_cache[subdir_nr]; -} - -void odb_load_loose_cache(struct object_directory *odb, int subdir_nr) +/* + * Populate an odb's loose object cache for one particular subdirectory (i.e., + * the one that corresponds to the first byte of objects you're interested in, + * from 0 to 255 inclusive). + */ +static void odb_load_loose_cache(struct object_directory *odb, int subdir_nr) { struct strbuf buf = STRBUF_INIT; @@ -2178,6 +2175,15 @@ void odb_load_loose_cache(struct object_directory *odb, int subdir_nr) strbuf_release(&buf); } +struct oid_array *odb_loose_cache(struct object_directory *odb, + const struct object_id *oid) +{ + int subdir_nr = oid->hash[0]; + odb_load_loose_cache(odb, subdir_nr); + return &odb->loose_objects_cache[subdir_nr]; +} + + void odb_clear_loose_cache(struct object_directory *odb) { int i;