Browse Source

shallow.c: stop abusing COMMIT_SLAB_SIZE for paint_info's memory pools

We need to allocate a "big" block of memory in paint_alloc(). The exact
size does not really matter. But the pool size has no relation with
commit-slab. Stop using that macro here.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Nguyễn Thái Ngọc Duy 8 years ago committed by Junio C Hamano
parent
commit
6bc3d8c5ec
  1. 6
      shallow.c

6
shallow.c

@ -353,6 +353,8 @@ void remove_nonexistent_theirs_shallow(struct shallow_info *info)


define_commit_slab(ref_bitmap, uint32_t *); define_commit_slab(ref_bitmap, uint32_t *);


#define POOL_SIZE (512 * 1024)

struct paint_info { struct paint_info {
struct ref_bitmap ref_bitmap; struct ref_bitmap ref_bitmap;
unsigned nr_bits; unsigned nr_bits;
@ -369,9 +371,9 @@ static uint32_t *paint_alloc(struct paint_info *info)
if (!info->pool_count || info->free + size > info->end) { if (!info->pool_count || info->free + size > info->end) {
info->pool_count++; info->pool_count++;
REALLOC_ARRAY(info->pools, info->pool_count); REALLOC_ARRAY(info->pools, info->pool_count);
info->free = xmalloc(COMMIT_SLAB_SIZE); info->free = xmalloc(POOL_SIZE);
info->pools[info->pool_count - 1] = info->free; info->pools[info->pool_count - 1] = info->free;
info->end = info->free + COMMIT_SLAB_SIZE; info->end = info->free + POOL_SIZE;
} }
p = info->free; p = info->free;
info->free += size; info->free += size;

Loading…
Cancel
Save