rename arena->blocks to arena->blocks_pool

fix comments
This commit is contained in:
Alexander 2017-09-30 15:03:28 +03:00
parent 83530975e9
commit 5a1cdfc72c
2 changed files with 20 additions and 20 deletions

View File

@ -160,14 +160,14 @@ struct ImagingPaletteInstance {
typedef struct ImagingMemoryArena { typedef struct ImagingMemoryArena {
int alignment; /* Alignment in memory of each line of an image */ int alignment; /* Alignment in memory of each line of an image */
int block_size; /* Preferred block size */ int block_size; /* Preferred block size, bytes */
int blocks_max; /* Maximum number of cached blocks */ int blocks_max; /* Maximum number of cached blocks */
int blocks_cached; /* Current number of block not accociated with images */ int blocks_cached; /* Current number of blocks not associated with images */
ImagingMemoryBlock *blocks; ImagingMemoryBlock *blocks_pool;
int stats_new_count; /* Number of new allocated images */ int stats_new_count; /* Number of new allocated images */
int stats_allocated_blocks; /* Number of allocated blocks */ int stats_allocated_blocks; /* Number of allocated blocks */
int stats_reused_blocks; /* Number of blocks which was retrieved from pool */ int stats_reused_blocks; /* Number of blocks which were retrieved from a pool */
int stats_reallocated_blocks; /* Number of blocks which was actually reallocated after retrieving */ int stats_reallocated_blocks; /* Number of blocks which were actually reallocated after retrieving */
int stats_freed_blocks; /* Number of freed blocks */ int stats_freed_blocks; /* Number of freed blocks */
} *ImagingMemoryArena; } *ImagingMemoryArena;

View File

@ -271,7 +271,7 @@ struct ImagingMemoryArena ImagingDefaultArena = {
16*1024*1024, // block_size 16*1024*1024, // block_size
0, // blocks_max 0, // blocks_max
0, // blocks_cached 0, // blocks_cached
NULL, // blocks NULL, // blocks_pool
0, 0, 0, 0, 0 // Stats 0, 0, 0, 0, 0 // Stats
}; };
@ -282,19 +282,19 @@ ImagingMemorySetBlocksMax(ImagingMemoryArena arena, int blocks_max)
/* Free already cached blocks */ /* Free already cached blocks */
ImagingMemoryClearCache(arena, blocks_max); ImagingMemoryClearCache(arena, blocks_max);
if (blocks_max == 0 && arena->blocks != NULL) { if (blocks_max == 0 && arena->blocks_pool != NULL) {
free(arena->blocks); free(arena->blocks_pool);
arena->blocks = NULL; arena->blocks_pool = NULL;
} else if (arena->blocks != NULL) { } else if (arena->blocks_pool != NULL) {
p = realloc(arena->blocks, sizeof(*arena->blocks) * blocks_max); p = realloc(arena->blocks_pool, sizeof(*arena->blocks_pool) * blocks_max);
if ( ! p) { if ( ! p) {
// Leave previous blocks_max value // Leave previous blocks_max value
return 0; return 0;
} }
arena->blocks = p; arena->blocks_pool = p;
} else { } else {
arena->blocks = calloc(sizeof(*arena->blocks), blocks_max); arena->blocks_pool = calloc(sizeof(*arena->blocks_pool), blocks_max);
if ( ! arena->blocks) { if ( ! arena->blocks_pool) {
return 0; return 0;
} }
} }
@ -308,7 +308,7 @@ ImagingMemoryClearCache(ImagingMemoryArena arena, int new_size)
{ {
while (arena->blocks_cached > new_size) { while (arena->blocks_cached > new_size) {
arena->blocks_cached -= 1; arena->blocks_cached -= 1;
free(arena->blocks[arena->blocks_cached].ptr); free(arena->blocks_pool[arena->blocks_cached].ptr);
arena->stats_freed_blocks += 1; arena->stats_freed_blocks += 1;
} }
} }
@ -321,14 +321,14 @@ memory_get_block(ImagingMemoryArena arena, int requested_size, int dirty)
if (arena->blocks_cached > 0) { if (arena->blocks_cached > 0) {
// Get block from cache // Get block from cache
arena->blocks_cached -= 1; arena->blocks_cached -= 1;
block = arena->blocks[arena->blocks_cached]; block = arena->blocks_pool[arena->blocks_cached];
// Reallocate if needed // Reallocate if needed
if (block.size != requested_size){ if (block.size != requested_size){
block.ptr = realloc(block.ptr, requested_size); block.ptr = realloc(block.ptr, requested_size);
} }
if ( ! block.ptr) { if ( ! block.ptr) {
// Can't allocate, free prevous pointer (it is still valid) // Can't allocate, free prevous pointer (it is still valid)
free(arena->blocks[arena->blocks_cached].ptr); free(arena->blocks_pool[arena->blocks_cached].ptr);
arena->stats_freed_blocks += 1; arena->stats_freed_blocks += 1;
return block; return block;
} }
@ -336,7 +336,7 @@ memory_get_block(ImagingMemoryArena arena, int requested_size, int dirty)
memset(block.ptr, 0, requested_size); memset(block.ptr, 0, requested_size);
} }
arena->stats_reused_blocks += 1; arena->stats_reused_blocks += 1;
if (block.ptr != arena->blocks[arena->blocks_cached].ptr) { if (block.ptr != arena->blocks_pool[arena->blocks_cached].ptr) {
arena->stats_reallocated_blocks += 1; arena->stats_reallocated_blocks += 1;
} }
} else { } else {
@ -360,7 +360,7 @@ memory_return_block(ImagingMemoryArena arena, ImagingMemoryBlock block)
block.size = arena->block_size; block.size = arena->block_size;
block.ptr = realloc(block.ptr, arena->block_size); block.ptr = realloc(block.ptr, arena->block_size);
} }
arena->blocks[arena->blocks_cached] = block; arena->blocks_pool[arena->blocks_cached] = block;
arena->blocks_cached += 1; arena->blocks_cached += 1;
} else { } else {
free(block.ptr); free(block.ptr);
@ -390,7 +390,7 @@ ImagingAllocateArray(Imaging im, int dirty, int block_size)
ImagingMemoryArena arena = &ImagingDefaultArena; ImagingMemoryArena arena = &ImagingDefaultArena;
ImagingMemoryBlock block = {NULL, 0}; ImagingMemoryBlock block = {NULL, 0};
int aligned_linesize, lines_per_block, blocks_count; int aligned_linesize, lines_per_block, blocks_count;
char *aligned_ptr; char *aligned_ptr = NULL;
/* 0-width or 0-height image. No need to do anything */ /* 0-width or 0-height image. No need to do anything */
if ( ! im->linesize || ! im->ysize) { if ( ! im->linesize || ! im->ysize) {