
Go to the source code of this file.
Functions | |
| INLINE_KEYWORD int | which_pow2 (size_t size) |
| INLINE_KEYWORD void | fillblock (mempool_type *mptr, block_header *block_head, int pool_size, int expansion) |
| int | checkblock (mempool_type *mptr, block_header *current, int power) |
| void | removeblocks (mempool_type *mptr) |
| mempool_type * | mempool_init (size_t pool_size, mempool_newblockfn allocfn, mempool_freeblock freefn, size_t limit) |
| void | mempool_destroy (mempool_type *mptr) |
| void * | mempool_malloc (mempool_type *mptr, int size, int expand) |
| void | mempool_free_thread (void *ptr_free) |
| void | mempool_free (mempool_type *mptr, void *ptr_free) |
| void * | getNextRegisteredPool (void *current) |
Variables | |
| int | cutOffPoints [] |
| INLINE_KEYWORD int which_pow2 | ( | size_t | size | ) |
Definition at line 38 of file mempool.c.
Referenced by fillblock(), mempool_free(), and mempool_malloc().
| INLINE_KEYWORD void fillblock | ( | mempool_type * | mptr, | |
| block_header * | block_head, | |||
| int | pool_size, | |||
| int | expansion | |||
| ) |
Definition at line 50 of file mempool.c.
References slot_header_::block_ptr, CmiAbort(), CmiPrintf(), block_header::freelists, slot_header_::gnext, slot_header_::gprev, left(), slot_header_::next, slot_header_::prev, slot_header_::size, slot_header_::status, and which_pow2().
Referenced by mempool_init(), and mempool_malloc().
| int checkblock | ( | mempool_type * | mptr, | |
| block_header * | current, | |||
| int | power | |||
| ) |
Definition at line 111 of file mempool.c.
References slot_header_::block_ptr, block_header::freelists, slot_header_::gnext, slot_header_::gprev, slot_header_::next, slot_header_::prev, slot_header_::size, and slot_header_::status.
Referenced by mempool_malloc().
| void removeblocks | ( | mempool_type * | mptr | ) |
Definition at line 176 of file mempool.c.
References mempool_type::block_head, block_header::block_next, block_header::block_prev, mempool_type::block_tail, mempool_type::freeblockfn, mempool_type::limit, block_header::mem_hndl, block_header::size, mempool_type::size, and block_header::used.
Referenced by mempool_malloc().
| mempool_type* mempool_init | ( | size_t | pool_size, | |
| mempool_newblockfn | allocfn, | |||
| mempool_freeblock | freefn, | |||
| size_t | limit | |||
| ) |
Definition at line 209 of file mempool.c.
References mempool_type::block_head, block_header::block_next, block_header::block_prev, mempool_type::block_tail, CmiCreateLock(), fillblock(), mempool_type::freeblockfn, left(), mempool_type::limit, block_header::mem_hndl, mempool_type::mempoolLock, block_header::mptr, block_header::msgs_in_recv, block_header::msgs_in_send, mempool_type::newblockfn, block_header::size, mempool_type::size, and block_header::used.
Referenced by CmiIsomalloc().
| void mempool_destroy | ( | mempool_type * | mptr | ) |
Definition at line 241 of file mempool.c.
References mempool_type::block_head, block_header::block_next, mempool_type::freeblockfn, and block_header::mem_hndl.
Referenced by CmiIsomallocBlockListPup().
| void* mempool_malloc | ( | mempool_type * | mptr, | |
| int | size, | |||
| int | expand | |||
| ) |
Definition at line 259 of file mempool.c.
References mempool_type::block_head, block_header::block_next, block_header::block_prev, slot_header_::block_ptr, mempool_type::block_tail, checkblock(), CmiAbort(), CmiLock(), CmiPrintf(), CmiUnlock(), fillblock(), block_header::freelists, mempool_type::limit, block_header::mem_hndl, mempool_type::mempoolLock, block_header::mptr, block_header::msgs_in_recv, block_header::msgs_in_send, mempool_type::newblockfn, slot_header_::next, slot_header_::prev, removeblocks(), block_header::size, mempool_type::size, slot_header_::status, block_header::used, and which_pow2().
Referenced by CmiIsomalloc().
| void mempool_free_thread | ( | void * | ptr_free | ) |
Definition at line 361 of file mempool.c.
References slot_header_::block_ptr, CmiLock(), CmiUnlock(), mempool_free(), and mempool_type::mempoolLock.
Referenced by CmiIsomallocFree().
| void mempool_free | ( | mempool_type * | mptr, | |
| void * | ptr_free | |||
| ) |
Definition at line 374 of file mempool.c.
References slot_header_::block_ptr, CmiMyPe(), CmiPrintf(), block_header::freelists, slot_header_::gnext, slot_header_::gprev, left(), slot_header_::next, slot_header_::prev, printf(), slot_header_::size, size, slot_header_::status, block_header::used, and which_pow2().
Referenced by mempool_free_thread().
1.5.5