#include <stdio.h>#include <stdlib.h>#include "gspin-tree.h"#include "gspin-mempool.h"

Go to the source code of this file.
Defines | |
| #define | GS_MEMBLOCK_SIZE 0x1000000 |
| #define | GS_BLOCK_IDX_SHIFT_AMT 24 |
| #define | GS_OFST_IN_BLK_MASK 0xffffff |
Functions/Subroutines | |
| gs_memblock_t * | gs_new_memblock (int id) |
| void * | __gs_mempool_alloc (unsigned int arena_id, unsigned int count) |
| gs_void_t * | gs_mempool_idx2address (int arena_id, int cell_index) |
| long | gs_mempool_address2byteofst (int arena_id, char *p) |
Variables | |
| gs_arena_t | gs_mempool [GS_ARENA_COUNT] |
| static gs_memblock_t * | memblk_cache [GS_ARENA_COUNT] = {NULL, NULL} |
| char * | mem_seg |
| #define GS_BLOCK_IDX_SHIFT_AMT 24 |
Definition at line 40 of file gspin-mempool.c.
Referenced by __gs_mempool_alloc(), and gs_mempool_idx2address().
| #define GS_MEMBLOCK_SIZE 0x1000000 |
Definition at line 37 of file gspin-mempool.c.
Referenced by __gs_mempool_alloc(), gs_mempool_address2byteofst(), and gs_new_memblock().
| #define GS_OFST_IN_BLK_MASK 0xffffff |
Definition at line 41 of file gspin-mempool.c.
Referenced by __gs_mempool_alloc(), and gs_mempool_idx2address().
| void* __gs_mempool_alloc | ( | unsigned int | arena_id, | |
| unsigned int | count | |||
| ) |
Definition at line 64 of file gspin-mempool.c.
References gs_memblock::block_id, gs_arena::current_index, gs_arena::firstblock, GS_BLOCK_IDX_SHIFT_AMT, GS_MEMBLOCK_SIZE, gs_new_memblock(), GS_OFST_IN_BLK_MASK, gs_arena::lastblock, gs_memblock::mem, gs_memblock::next, NULL, and p.
| long gs_mempool_address2byteofst | ( | int | arena_id, | |
| char * | p | |||
| ) |
Definition at line 110 of file gspin-mempool.c.
References gs_memblock::block_id, gs_arena::firstblock, GS_ARENA, GS_ASSERT, GS_MEMBLOCK_SIZE, mem, gs_memblock::mem, mem_seg, gs_memblock::next, and NULL.
Referenced by gs_dump_core(), gs_dump_leaf(), and gs_write().
| gs_void_t* gs_mempool_idx2address | ( | int | arena_id, | |
| int | cell_index | |||
| ) |
Definition at line 89 of file gspin-mempool.c.
References gs_arena::firstblock, GS_BLOCK_IDX_SHIFT_AMT, GS_OFST_IN_BLK_MASK, gs_memblock::mem, gs_memblock::next, and NULL.
Referenced by gs_write().
| gs_memblock_t* gs_new_memblock | ( | int | id | ) |
Definition at line 52 of file gspin-mempool.c.
References gs_memblock::block_id, calloc(), fprintf(), GS_MEMBLOCK_SIZE, malloc, gs_memblock::mem, gs_memblock::next, and NULL.
Referenced by __gs_mempool_alloc().
| gs_arena_t gs_mempool[GS_ARENA_COUNT] |
| char* mem_seg |
gs_memblock_t* memblk_cache[GS_ARENA_COUNT] = {NULL, NULL} [static] |
Definition at line 86 of file gspin-mempool.c.
1.5.6