diff options
author | Junio C Hamano <gitster@pobox.com> | 2018-08-02 15:30:43 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-08-02 15:30:43 -0700 |
commit | ae533c4a92aef6ab180441dbb76ef83521fc87d6 (patch) | |
tree | 0e722c62f6fb4a7d053bdb9bcb37115d8946336b /git.c | |
parent | 30bf8d9f4f06d8e35793612c8611cb03c53a73db (diff) | |
parent | 8616a2d0cb57865540f1c00ac2e5385a6cc5d84e (diff) | |
download | git-ae533c4a92aef6ab180441dbb76ef83521fc87d6.tar.gz |
Merge branch 'jm/cache-entry-from-mem-pool'
For a large tree, the index needs to hold many cache entries
allocated on heap. These cache entries are now allocated out of a
dedicated memory pool to amortize malloc(3) overhead.
* jm/cache-entry-from-mem-pool:
block alloc: add validations around cache_entry lifecyle
block alloc: allocate cache entries from mem_pool
mem-pool: fill out functionality
mem-pool: add life cycle management functions
mem-pool: only search head block for available space
block alloc: add lifecycle APIs for cache_entry structs
read-cache: teach make_cache_entry to take object_id
read-cache: teach refresh_cache_entry to take istate
Diffstat (limited to 'git.c')
-rw-r--r-- | git.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -414,7 +414,10 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv) trace_argv_printf(argv, "trace: built-in: git"); + validate_cache_entries(&the_index); status = p->fn(argc, argv, prefix); + validate_cache_entries(&the_index); + if (status) return status; |