[BACK]Return to jemalloc.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libc / stdlib

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libc/stdlib/jemalloc.c between version 1.9 and 1.10

version 1.9, 2007/10/19 19:28:57 version 1.10, 2007/10/22 04:16:48
Line 2393  arena_salloc(const void *ptr)
Line 2393  arena_salloc(const void *ptr)
 {  {
         size_t ret;          size_t ret;
         arena_chunk_t *chunk;          arena_chunk_t *chunk;
         arena_run_t *run;  
         arena_chunk_map_t *mapelm;          arena_chunk_map_t *mapelm;
         unsigned pageind;          unsigned pageind;
   
Line 2408  arena_salloc(const void *ptr)
Line 2407  arena_salloc(const void *ptr)
         pageind = (unsigned)(((uintptr_t)ptr - (uintptr_t)chunk) >>          pageind = (unsigned)(((uintptr_t)ptr - (uintptr_t)chunk) >>
             pagesize_2pow);              pagesize_2pow);
         mapelm = &chunk->map[pageind];          mapelm = &chunk->map[pageind];
         run = (arena_run_t *)((uintptr_t)chunk + (pageind << pagesize_2pow));          if (mapelm->pos != 0 || ptr != (char *)((uintptr_t)chunk) + (pageind <<
         if (mapelm->pos != 0 || ptr != run) {              pagesize_2pow)) {
                   arena_run_t *run;
   
                 pageind -= mapelm->pos;                  pageind -= mapelm->pos;
   
                   run = (arena_run_t *)((uintptr_t)chunk + (pageind <<
                       pagesize_2pow));
                 assert(run->magic == ARENA_RUN_MAGIC);                  assert(run->magic == ARENA_RUN_MAGIC);
                 ret = run->bin->reg_size;                  ret = run->bin->reg_size;
         } else          } else
Line 2475  arena_dalloc(arena_t *arena, arena_chunk
Line 2477  arena_dalloc(arena_t *arena, arena_chunk
 {  {
         unsigned pageind;          unsigned pageind;
         arena_chunk_map_t *mapelm;          arena_chunk_map_t *mapelm;
         arena_run_t *run;  
         size_t size;          size_t size;
   
         assert(arena != NULL);          assert(arena != NULL);
Line 2487  arena_dalloc(arena_t *arena, arena_chunk
Line 2488  arena_dalloc(arena_t *arena, arena_chunk
         pageind = (unsigned)(((uintptr_t)ptr - (uintptr_t)chunk) >>          pageind = (unsigned)(((uintptr_t)ptr - (uintptr_t)chunk) >>
             pagesize_2pow);              pagesize_2pow);
         mapelm = &chunk->map[pageind];          mapelm = &chunk->map[pageind];
         run = (arena_run_t *)((uintptr_t)chunk + (pageind << pagesize_2pow));          if (mapelm->pos != 0 || ptr != (char *)((uintptr_t)chunk) + (pageind <<
         if (mapelm->pos != 0 || ptr != run) {              pagesize_2pow)) {
                   arena_run_t *run;
                 arena_bin_t *bin;                  arena_bin_t *bin;
   
                 /* Small allocation. */                  /* Small allocation. */
   
                 pageind -= mapelm->pos;                  pageind -= mapelm->pos;
   
                   run = (arena_run_t *)((uintptr_t)chunk + (pageind <<
                       pagesize_2pow));
                 assert(run->magic == ARENA_RUN_MAGIC);                  assert(run->magic == ARENA_RUN_MAGIC);
                 bin = run->bin;                  bin = run->bin;
                 size = bin->reg_size;                  size = bin->reg_size;

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

CVSweb <webmaster@jp.NetBSD.org>