![]() |
Ansel 0.0
A darktable fork - bloat + design vision
|
Include dependency graph for memory_arena.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | dt_cache_arena_t |
Typedefs | |
| typedef struct dt_cache_arena_t | dt_cache_arena_t |
Functions | |
| gboolean | dt_cache_arena_calc (const dt_cache_arena_t *a, size_t size, uint32_t *out_pages, size_t *out_size) |
| void * | dt_cache_arena_alloc (dt_cache_arena_t *a, size_t size, size_t *out_size) |
| void | dt_cache_arena_free (dt_cache_arena_t *a, void *ptr, size_t size) |
| void | dt_cache_arena_stats (dt_cache_arena_t *a, uint32_t *out_total_free_pages, uint32_t *out_largest_free_run_pages) |
| size_t | dt_cache_arena_trim (dt_cache_arena_t *a) |
| int | dt_cache_arena_init (dt_cache_arena_t *a, size_t total_size) |
| void | dt_cache_arena_cleanup (dt_cache_arena_t *a) |
| gboolean | dt_cache_arena_ptr_in (const dt_cache_arena_t *a, const void *ptr) |
| typedef struct dt_cache_arena_t dt_cache_arena_t |
| void * dt_cache_arena_alloc | ( | dt_cache_arena_t * | a, |
| size_t | size, | ||
| size_t * | out_size | ||
| ) |
Definition at line 86 of file memory_arena.c.
References dt_cache_arena_calc(), dt_cache_arena_free(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), i, IS_NULL_PTR, r, and size.
Referenced by _arena_alloc_with_defrag().
| gboolean dt_cache_arena_calc | ( | const dt_cache_arena_t * | a, |
| size_t | size, | ||
| uint32_t * | out_pages, | ||
| size_t * | out_size | ||
| ) |
Definition at line 59 of file memory_arena.c.
References FALSE, IS_NULL_PTR, pages, size, and TRUE.
Referenced by _arena_alloc_with_defrag(), dt_cache_arena_alloc(), dt_cache_arena_free(), and dt_pixel_cache_new_entry().
| void dt_cache_arena_cleanup | ( | dt_cache_arena_t * | a | ) |
Definition at line 329 of file memory_arena.c.
References dt_pthread_mutex_destroy(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), IS_NULL_PTR, and TRUE.
Referenced by dt_dev_pixelpipe_cache_cleanup().
| void dt_cache_arena_free | ( | dt_cache_arena_t * | a, |
| void * | ptr, | ||
| size_t | size | ||
| ) |
Definition at line 157 of file memory_arena.c.
References _arena_log, dt_cache_arena_calc(), dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), i, IS_NULL_PTR, dt_free_run_t::length, pages, size, and dt_free_run_t::start.
Referenced by _free_cache_entry(), dt_cache_arena_alloc(), and dt_pixelpipe_cache_alloc_align_cache_impl().
| int dt_cache_arena_init | ( | dt_cache_arena_t * | a, |
| size_t | total_size | ||
| ) |
Definition at line 357 of file memory_arena.c.
References dt_pthread_mutex_init(), FALSE, IS_NULL_PTR, pages, and dt_free_run_t::start.
Referenced by dt_dev_pixelpipe_cache_init().
| gboolean dt_cache_arena_ptr_in | ( | const dt_cache_arena_t * | a, |
| const void * | ptr | ||
| ) |
Definition at line 427 of file memory_arena.c.
References FALSE, and IS_NULL_PTR.
| void dt_cache_arena_stats | ( | dt_cache_arena_t * | a, |
| uint32_t * | out_total_free_pages, | ||
| uint32_t * | out_largest_free_run_pages | ||
| ) |
Definition at line 271 of file memory_arena.c.
References dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), i, IS_NULL_PTR, and r.
Referenced by _arena_alloc_with_defrag(), and _arena_stats_bytes().
| size_t dt_cache_arena_trim | ( | dt_cache_arena_t * | a | ) |
Definition at line 294 of file memory_arena.c.
References _arena_log, dt_pthread_mutex_lock(), dt_pthread_mutex_unlock(), i, IS_NULL_PTR, r, and size.
Referenced by _memory_pressure_shedder(), _pressure_shed(), _system_memory_pressure_valve(), and dt_dev_pixelpipe_cache_flush_old().