Merge branch 'jm/cache-entry-from-mem-pool'
authorJunio C Hamano <gitster@pobox.com>
Thu, 2 Aug 2018 22:30:43 +0000 (15:30 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 2 Aug 2018 22:30:43 +0000 (15:30 -0700)
commitae533c4a92aef6ab180441dbb76ef83521fc87d6
tree0e722c62f6fb4a7d053bdb9bcb37115d8946336b
parent30bf8d9f4f06d8e35793612c8611cb03c53a73db
parent8616a2d0cb57865540f1c00ac2e5385a6cc5d84e
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
12 files changed:
apply.c
blame.c
builtin/checkout.c
builtin/difftool.c
builtin/reset.c
builtin/update-index.c
cache.h
git.c
merge-recursive.c
read-cache.c
tree.c
unpack-trees.c