Home | History | Annotate | Download | only in jemalloc
      1 /*
      2  * void *
      3  * chunk_alloc(void *new_addr, size_t size, size_t alignment, bool *zero,
      4  *     bool *commit, unsigned arena_ind);
      5  */
      6 typedef void *(chunk_alloc_t)(void *, size_t, size_t, bool *, bool *, unsigned);
      7 
      8 /*
      9  * bool
     10  * chunk_dalloc(void *chunk, size_t size, bool committed, unsigned arena_ind);
     11  */
     12 typedef bool (chunk_dalloc_t)(void *, size_t, bool, unsigned);
     13 
     14 /*
     15  * bool
     16  * chunk_commit(void *chunk, size_t size, size_t offset, size_t length,
     17  *     unsigned arena_ind);
     18  */
     19 typedef bool (chunk_commit_t)(void *, size_t, size_t, size_t, unsigned);
     20 
     21 /*
     22  * bool
     23  * chunk_decommit(void *chunk, size_t size, size_t offset, size_t length,
     24  *     unsigned arena_ind);
     25  */
     26 typedef bool (chunk_decommit_t)(void *, size_t, size_t, size_t, unsigned);
     27 
     28 /*
     29  * bool
     30  * chunk_purge(void *chunk, size_t size, size_t offset, size_t length,
     31  *     unsigned arena_ind);
     32  */
     33 typedef bool (chunk_purge_t)(void *, size_t, size_t, size_t, unsigned);
     34 
     35 /*
     36  * bool
     37  * chunk_split(void *chunk, size_t size, size_t size_a, size_t size_b,
     38  *     bool committed, unsigned arena_ind);
     39  */
     40 typedef bool (chunk_split_t)(void *, size_t, size_t, size_t, bool, unsigned);
     41 
     42 /*
     43  * bool
     44  * chunk_merge(void *chunk_a, size_t size_a, void *chunk_b, size_t size_b,
     45  *     bool committed, unsigned arena_ind);
     46  */
     47 typedef bool (chunk_merge_t)(void *, size_t, void *, size_t, bool, unsigned);
     48 
     49 typedef struct {
     50 	chunk_alloc_t		*alloc;
     51 	chunk_dalloc_t		*dalloc;
     52 	chunk_commit_t		*commit;
     53 	chunk_decommit_t	*decommit;
     54 	chunk_purge_t		*purge;
     55 	chunk_split_t		*split;
     56 	chunk_merge_t		*merge;
     57 } chunk_hooks_t;
     58