diff options
author | Robin Watts <Robin.Watts@artifex.com> | 2017-11-16 20:01:57 +0000 |
---|---|---|
committer | Robin Watts <Robin.Watts@artifex.com> | 2017-11-17 08:49:53 +0000 |
commit | f27b751a1662c3ca8ef64c164cf3f9a400dd416b (patch) | |
tree | 47bd14145e10f8f1bda749338a1546c0854c43d7 | |
parent | 1e1b4dc73087212abd1c6c9bee3192a1fc6bf630 (diff) | |
download | ghostpdl-f27b751a1662c3ca8ef64c164cf3f9a400dd416b.tar.gz |
Add SINGLE_OBJECT_MEMORY_BLOCKS_ONLY logic.
If SINGLE_OBJECT_MEMORY_BLOCKS_ONLY is defined at
build time, then we restrict every clump/chunk to
have just a single object in it. This makes
valgrind debugging easier as the allocation given
for when 'undefined' values were created is far
more likely to be correct.
-rw-r--r-- | base/gsalloc.c | 2 | ||||
-rw-r--r-- | base/gsmchunk.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/base/gsalloc.c b/base/gsalloc.c index 10c04dddd..b6e51de96 100644 --- a/base/gsalloc.c +++ b/base/gsalloc.c @@ -771,7 +771,7 @@ ialloc_alloc_state(gs_memory_t * parent, uint clump_size) iimem->non_gc_memory = parent; iimem->thread_safe_memory = parent->thread_safe_memory; iimem->clump_size = clump_size; -#ifdef MEMENTO +#if defined(MEMENTO) || defined(SINGLE_OBJECT_MEMORY_BLOCKS_ONLY) iimem->large_size = 1; #else iimem->large_size = ((clump_size / 4) & -obj_align_mod) + 1; diff --git a/base/gsmchunk.c b/base/gsmchunk.c index 900536d50..effe210f6 100644 --- a/base/gsmchunk.c +++ b/base/gsmchunk.c @@ -747,7 +747,7 @@ static void remove_free(gs_memory_chunk_t *cmem, chunk_free_node_t *node) remove_free_size(cmem, node); } -#ifdef MEMENTO +#if defined(MEMENTO) || defined(SINGLE_OBJECT_MEMORY_BLOCKS_ONLY) #define SINGLE_OBJECT_CHUNK(size) (1) #else #define SINGLE_OBJECT_CHUNK(size) ((size) > (CHUNK_SIZE>>1)) |