Blender V2.61 - r43446
|
Memory arena ADT. More...
Go to the source code of this file.
Defines | |
#define | BLI_MEMARENA_STD_BUFSIZE (1<<14) |
Typedefs | |
typedef struct MemArena | MemArena |
Functions | |
struct MemArena * | BLI_memarena_new (int bufsize, const char *name) |
void | BLI_memarena_free (struct MemArena *ma) |
void | BLI_memarena_use_malloc (struct MemArena *ma) |
void | BLI_memarena_use_calloc (struct MemArena *ma) |
void | BLI_memarena_use_align (struct MemArena *ma, int align) |
void * | BLI_memarena_alloc (struct MemArena *ma, int size) |
Memory arena ADT.
Memory arena's are commonly used when the program needs to quickly allocate lots of little bits of data, which are all freed at the same moment.
Definition in file BLI_memarena.h.
#define BLI_MEMARENA_STD_BUFSIZE (1<<14) |
Definition at line 49 of file BLI_memarena.h.
Referenced by BME_bevel(), bvh_done< VBVHTree >(), calc_vertexnormals(), database_fromscene_vectors(), DM_add_tangent_layer(), harmonic_coordinates_bind(), IMB_tile_cache_params(), push_propagate_stack(), RE_Database_Baking(), RE_Database_FromScene(), strand_shade_cache_create(), and zbuffer_strands_abuf().
Definition at line 52 of file BLI_memarena.h.
void* BLI_memarena_alloc | ( | struct MemArena * | ma, |
int | size | ||
) |
Definition at line 86 of file BLI_memarena.c.
References MemArena::align, BLI_linklist_prepend(), MemArena::bufs, MemArena::bufsize, MemArena::curbuf, MemArena::cursize, MEM_callocN(), MEM_mallocN(), MemArena::name, PADUP, size(), and MemArena::use_calloc.
Referenced by arena_alloc(), arena_realloc(), BLI_heap_insert(), BLI_linklist_prepend_arena(), BME_assign_transdata(), BME_new_transdata_float(), BuildBinaryVBVH< Node >::create_node(), create_octree_node(), imb_global_cache_get_tile(), imb_thread_cache_init(), isb_add_shadfac(), isb_alloc_sample_transp(), isb_bsp_split(), isb_bsp_split_init(), meshdeform_matrix_solve(), meshdeform_ray_tree_intersect(), occ_build_recursive(), occ_tree_build(), p_face_add(), p_node_new(), p_vert_add(), p_vert_copy(), project_paint_begin(), project_paint_end(), project_paint_op(), project_paint_uvpixel_init(), push_propagate_stack(), scatter_tree_build(), set_dupli_tex_mat(), strand_shade_refcount(), sum_or_add_vertex_tangent(), and zbuffer_strands_abuf().
void BLI_memarena_free | ( | struct MemArena * | ma | ) |
Definition at line 77 of file BLI_memarena.c.
References BLI_linklist_free(), MemArena::bufs, and MEM_freeN().
Referenced by arena_release(), BLI_heap_free(), BME_free_transdata(), bvh_done< VBVHTree >(), bvh_free(), calc_vertexnormals(), cloth_bvh_objcollisions_nearcheck(), DM_add_tangent_layer(), do_projectpaint_thread(), harmonic_coordinates_bind(), imb_tile_cache_exit(), ISB_free(), isb_make_buffer(), isb_make_buffer_transp(), occ_free_tree(), p_smooth(), param_delete(), project_paint_end(), RE_Database_Free(), scatter_tree_free(), smoothmesh_free(), strand_shade_cache_free(), and zbuffer_strands_abuf().
struct MemArena* BLI_memarena_new | ( | int | bufsize, |
const char * | name | ||
) | [read] |
Definition at line 51 of file BLI_memarena.c.
References MemArena::align, MemArena::bufsize, MEM_callocN(), and MemArena::name.
Referenced by _getSubSurf(), BLI_heap_new(), BME_init_transdata(), bvh_done< VBVHTree >(), calc_vertexnormals(), cloth_bvh_objcollisions_nearcheck(), database_fromscene_vectors(), DM_add_tangent_layer(), do_projectpaint_thread(), harmonic_coordinates_bind(), IMB_tile_cache_params(), isb_make_buffer(), isb_make_buffer_transp(), occ_tree_build(), p_smooth(), param_construct_begin(), project_paint_begin(), push_propagate_stack(), RE_Database_Baking(), RE_Database_FromScene(), scatter_tree_build(), strand_shade_cache_create(), and zbuffer_strands_abuf().
void BLI_memarena_use_align | ( | struct MemArena * | ma, |
int | align | ||
) |
Definition at line 71 of file BLI_memarena.c.
References MemArena::align.
void BLI_memarena_use_calloc | ( | struct MemArena * | ma | ) |
Definition at line 61 of file BLI_memarena.c.
References MemArena::use_calloc.
Referenced by BME_init_transdata(), calc_vertexnormals(), DM_add_tangent_layer(), harmonic_coordinates_bind(), IMB_tile_cache_params(), isb_make_buffer(), isb_make_buffer_transp(), occ_tree_build(), push_propagate_stack(), and scatter_tree_build().
void BLI_memarena_use_malloc | ( | struct MemArena * | ma | ) |
Definition at line 66 of file BLI_memarena.c.
References MemArena::use_calloc.
Referenced by bvh_done< VBVHTree >().