From 8094989ba2229aeb562284ac96034252ad0c90c8 Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Fri, 20 Oct 2000 15:57:00 +0000 Subject: [PATCH] (_malloc_internal) [GC_MALLOC_CHECK]: Use _malloc_internal instead of malloc. (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead of free. --- src/ChangeLog | 23 +++++++++++++++++++++++ src/gmalloc.c | 8 ++++++++ 2 files changed, 31 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index c390352004b..6943c745311 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,26 @@ +2000-10-20 Gerd Moellmann + + * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef + GC_MALLOC_CHECK. + (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node + structure definition and related variabled to the top of the file. + Include this code when GC_MALLOC_CHECK is defined. + (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't + register/unregister allocated region. + (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something + which isn't allocated. + (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning + something which is already in use. + (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise. + (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal. + (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal. + (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init. + + * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use + _malloc_internal instead of malloc. + (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead + of free. + 2000-10-20 Andrew Innes * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on diff --git a/src/gmalloc.c b/src/gmalloc.c index e05b758b766..2ce168c71c8 100644 --- a/src/gmalloc.c +++ b/src/gmalloc.c @@ -678,7 +678,11 @@ _malloc_internal (size) { /* No free fragments of the desired size, so get a new block and break it into fragments, returning the first. */ +#ifdef GC_MALLOC_CHECK + result = _malloc_internal (BLOCKSIZE); +#else result = malloc (BLOCKSIZE); +#endif if (result == NULL) return NULL; @@ -1092,7 +1096,11 @@ _free_internal (ptr) _chunks_free -= BLOCKSIZE >> type; _bytes_free -= BLOCKSIZE; +#ifdef GC_MALLOC_CHECK + _free_internal (ADDRESS (block)); +#else free (ADDRESS (block)); +#endif } else if (_heapinfo[block].busy.info.frag.nfree != 0) { -- 2.39.5