From: Gerd Moellmann Date: Fri, 20 Oct 2000 15:57:00 +0000 (+0000) Subject: (_malloc_internal) [GC_MALLOC_CHECK]: Use X-Git-Tag: emacs-pretest-21.0.90~723 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8094989ba2229aeb562284ac96034252ad0c90c8;p=emacs.git (_malloc_internal) [GC_MALLOC_CHECK]: Use _malloc_internal instead of malloc. (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead of free. --- 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) {