diff options
| author | Russell Belfer <rb@github.com> | 2012-04-18 10:57:08 -0700 |
|---|---|---|
| committer | Russell Belfer <rb@github.com> | 2012-04-25 11:14:34 -0700 |
| commit | da3b391c32b973d5c073951b6848eedd40434e5e (patch) | |
| tree | e4fa76f5300ee4c698e3f0c9c2f6839f2f54aef0 /src/pool.c | |
| parent | 19fa2bc111d50dc2bafb1393b87b5ba119615ae2 (diff) | |
| download | libgit2-da3b391c32b973d5c073951b6848eedd40434e5e.tar.gz | |
Convert revwalk to use git_pool
This removes the custom paged allocator from revwalk and
replaces it with a `git_pool`.
Diffstat (limited to 'src/pool.c')
| -rw-r--r-- | src/pool.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/pool.c b/src/pool.c index 2e64bde4a..8f5c7e75a 100644 --- a/src/pool.c +++ b/src/pool.c @@ -29,11 +29,8 @@ int git_pool_init( else if (item_size == 3) item_size = 4; - if (!items_per_page) { - uint32_t page_bytes = - git_pool__system_page_size() - sizeof(git_pool_page); - items_per_page = page_bytes / item_size; - } + if (!items_per_page) + items_per_page = git_pool__suggest_items_per_page(item_size); if (item_size * items_per_page < GIT_POOL_MIN_PAGESZ) items_per_page = (GIT_POOL_MIN_PAGESZ + item_size - 1) / item_size; @@ -288,3 +285,10 @@ uint32_t git_pool__system_page_size(void) return size; } +uint32_t git_pool__suggest_items_per_page(uint32_t item_size) +{ + uint32_t page_bytes = + git_pool__system_page_size() - sizeof(git_pool_page); + return page_bytes / item_size; +} + |
