From 3539f31f03b40bafa0875de88e3a5d55558ba32c Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 15 Apr 2012 18:18:13 -0700 Subject: [PATCH] Fix minor ralloc.c problems found by static checking. See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html * ralloc.c (ALIGNED, ROUND_TO_PAGE, HEAP_PTR_SIZE) (r_alloc_size_in_use, r_alloc_freeze, r_alloc_thaw): Remove; unused. (r_alloc_sbrk): Now static. --- src/ChangeLog | 6 ++++++ src/ralloc.c | 60 +-------------------------------------------------- 2 files changed, 7 insertions(+), 59 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 0fa21336900..06ae5016cf3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,11 @@ 2012-04-16 Paul Eggert + Fix minor ralloc.c problems found by static checking. + See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html + * ralloc.c (ALIGNED, ROUND_TO_PAGE, HEAP_PTR_SIZE) + (r_alloc_size_in_use, r_alloc_freeze, r_alloc_thaw): Remove; unused. + (r_alloc_sbrk): Now static. + Improve ralloc.c interface checking. See http://lists.gnu.org/archive/html/emacs-devel/2011-12/msg00720.html * buffer.c (ralloc_reset_variable, r_alloc, r_re_alloc) diff --git a/src/ralloc.c b/src/ralloc.c index 896ad9f3155..4bb2f240438 100644 --- a/src/ralloc.c +++ b/src/ralloc.c @@ -95,10 +95,8 @@ static int extra_bytes; /* Macros for rounding. Note that rounding to any value is possible by changing the definition of PAGE. */ #define PAGE (getpagesize ()) -#define ALIGNED(addr) (((unsigned long int) (addr) & (page_size - 1)) == 0) #define ROUNDUP(size) (((unsigned long int) (size) + page_size - 1) \ & ~(page_size - 1)) -#define ROUND_TO_PAGE(addr) (addr & (~(page_size - 1))) #define MEM_ALIGN sizeof (double) #define MEM_ROUNDUP(addr) (((unsigned long int)(addr) + MEM_ALIGN - 1) \ @@ -151,7 +149,6 @@ typedef struct heap } *heap_ptr; #define NIL_HEAP ((heap_ptr) 0) -#define HEAP_PTR_SIZE (sizeof (struct heap)) /* This is the first heap object. If we need additional heap objects, each one resides at the beginning of @@ -366,15 +363,6 @@ relinquish (void) } } } - -/* Return the total size in use by relocating allocator, - above where malloc gets space. */ - -long -r_alloc_size_in_use (void) -{ - return (char *) break_value - (char *) virtual_break_value; -} /* The meat - allocating, freeing, and relocating blocs. */ @@ -748,7 +736,7 @@ free_bloc (bloc_ptr bloc) __morecore hook values - in particular, __default_morecore in the GNU malloc package. */ -POINTER +static POINTER r_alloc_sbrk (long int size) { register bloc_ptr b; @@ -1014,52 +1002,6 @@ r_re_alloc (POINTER *ptr, SIZE size) return *ptr; } -/* Disable relocations, after making room for at least SIZE bytes - of non-relocatable heap if possible. The relocatable blocs are - guaranteed to hold still until thawed, even if this means that - malloc must return a null pointer. */ - -void -r_alloc_freeze (long int size) -{ - if (! r_alloc_initialized) - r_alloc_init (); - - /* If already frozen, we can't make any more room, so don't try. */ - if (r_alloc_freeze_level > 0) - size = 0; - /* If we can't get the amount requested, half is better than nothing. */ - while (size > 0 && r_alloc_sbrk (size) == 0) - size /= 2; - ++r_alloc_freeze_level; - if (size > 0) - r_alloc_sbrk (-size); -} - -void -r_alloc_thaw (void) -{ - - if (! r_alloc_initialized) - r_alloc_init (); - - if (--r_alloc_freeze_level < 0) - abort (); - - /* This frees all unused blocs. It is not too inefficient, as the resize - and memcpy is done only once. Afterwards, all unreferenced blocs are - already shrunk to zero size. */ - if (!r_alloc_freeze_level) - { - bloc_ptr *b = &first_bloc; - while (*b) - if (!(*b)->variable) - free_bloc (*b); - else - b = &(*b)->next; - } -} - #if defined (emacs) && defined (DOUG_LEA_MALLOC) -- 2.39.2