diff options
author | Gerd Moellmann <gerd@gnu.org> | 2000-10-20 15:57:00 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2000-10-20 15:57:00 +0000 |
commit | 8094989ba2229aeb562284ac96034252ad0c90c8 (patch) | |
tree | 80683494a60436459243ed8fa593f73e5e61182b | |
parent | 877935b1f574db32339050788147d677fc3cce27 (diff) |
(_malloc_internal) [GC_MALLOC_CHECK]: Use
_malloc_internal instead of malloc.
(_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
of free.
-rw-r--r-- | src/ChangeLog | 23 | ||||
-rw-r--r-- | src/gmalloc.c | 8 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index c390352004..6943c74531 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,26 @@ +2000-10-20 Gerd Moellmann <gerd@gnu.org> + + * 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 <andrewi@gnu.org> * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on diff --git a/src/gmalloc.c b/src/gmalloc.c index e05b758b76..2ce168c71c 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) { |