|
Blender
V2.59
|
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 50 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 53 of file BLI_memarena.h.
| void* BLI_memarena_alloc | ( | struct MemArena * | ma, |
| int | size | ||
| ) |
Definition at line 83 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 75 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 53 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 70 of file BLI_memarena.c.
References MemArena::align.
| void BLI_memarena_use_calloc | ( | struct MemArena * | ma | ) |
Definition at line 62 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 >().