X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fgmalloc.c;h=a65e78edca2529129cd4c5d4a15b6dc274042e09;hb=a858680c386500889ac6f2d6d47f392c8a743c01;hp=3aad687d1d97b3b3553b0cef8652f724e81eb3d7;hpb=6883ee56ec887c2c48abe5b06b5e66aa74031910;p=chise%2Fxemacs-chise.git.1 diff --git a/src/gmalloc.c b/src/gmalloc.c index 3aad687..a65e78e 100644 --- a/src/gmalloc.c +++ b/src/gmalloc.c @@ -25,8 +25,6 @@ # define STDC_HEADERS #endif -#define __const const - /* DO NOT EDIT THIS FILE -- it is automagically generated. -*- C -*- */ /* Bwaa-haa-haa! Not a chance that this is actually true! */ @@ -273,7 +271,7 @@ extern struct mstats mstats __P ((void)); /* Call WARNFUN with a warning message when memory usage is high. */ extern void memory_warnings __P ((__ptr_t __start, - void (*__warnfun) __P ((__const char *)))); + void (*__warnfun) __P ((const char *)))); #if 0 /* unused in this file, and conflicting prototypes anyway */ @@ -369,7 +367,7 @@ Boston, MA 02111-1307, USA. #endif /* How to really get more memory. */ -#ifdef HEAP_IN_DATA +#if defined (HEAP_IN_DATA) && !defined(PDUMP) /* once dumped, free() & realloc() on static heap space will fail */ #define PURE_DATA(x) \ ((static_heap_dumped && (char*)x >= static_heap_base \ @@ -448,7 +446,7 @@ static int initialize __P ((void)); static int initialize () { -#ifdef HEAP_IN_DATA +#if defined (HEAP_IN_DATA) && !defined(PDUMP) if (static_heap_dumped && __morecore == more_static_core) { __morecore = __default_morecore; @@ -1018,79 +1016,6 @@ Boston, MA 02111-1307, USA. #include #endif -#if 0 /* FSFmacs */ -/* XEmacs requires an ANSI compiler, and memmove() is part of the ANSI- - mandated functions. For losing systems like SunOS 4, we provide - our own memmove(). */ - -#if (defined (MEMMOVE_MISSING) || \ - !defined(_LIBC) && !defined(STDC_HEADERS) && !defined(USG)) - -/* Snarfed directly from Emacs src/dispnew.c: - XXX Should use system bcopy if it handles overlap. */ -#ifndef emacs - -/* Like bcopy except never gets confused by overlap. */ - -static void -safe_bcopy (char *from, char *to, int size) -{ - if (size <= 0 || from == to) - return; - - /* If the source and destination don't overlap, then bcopy can - handle it. If they do overlap, but the destination is lower in - memory than the source, we'll assume bcopy can handle that. */ - if (to < from || from + size <= to) - bcopy (from, to, size); - - /* Otherwise, we'll copy from the end. */ - else - { - char *endf = from + size; - char *endt = to + size; - - /* If TO - FROM is large, then we should break the copy into - nonoverlapping chunks of TO - FROM bytes each. However, if - TO - FROM is small, then the bcopy function call overhead - makes this not worth it. The crossover point could be about - anywhere. Since I don't think the obvious copy loop is too - bad, I'm trying to err in its favor. */ - if (to - from < 64) - { - do - *--endt = *--endf; - while (endf != from); - } - else - { - for (;;) - { - endt -= (to - from); - endf -= (to - from); - - if (endt < to) - break; - - bcopy (endf, endt, to - from); - } - - /* If SIZE wasn't a multiple of TO - FROM, there will be a - little left over. The amount left over is - (endt + (to - from)) - to, which is endt - from. */ - bcopy (from, to, endt - from); - } - } -} -#endif /* Not emacs. */ - -#define memmove(to, from, size) safe_bcopy ((from), (to), (size)) - -#endif - -#endif /* FSFmacs */ - - #ifndef min #define min(A, B) ((A) < (B) ? (A) : (B)) #endif @@ -1111,7 +1036,7 @@ realloc (__ptr_t ptr, __malloc_size_t size) int type; __malloc_size_t block, blocks, oldlimit; - if (PURE_DATA(ptr)) + if (PURE_DATA (ptr)) { result = malloc (size); memcpy(result, ptr, size); @@ -1307,23 +1232,9 @@ extern __ptr_t __sbrk __P ((int increment)); and return the start of data space, or NULL on errors. If INCREMENT is negative, shrink data space. */ __ptr_t -__default_morecore ( -#ifdef __STDC__ - ptrdiff_t increment -#else -#ifdef OSF1 - long increment -#else - int increment -#endif -#endif - ) +__default_morecore (ptrdiff_t increment) { -#ifdef OSF1 - __ptr_t result = (__ptr_t) __sbrk ((ssize_t) increment); -#else - __ptr_t result = (__ptr_t) __sbrk ((int) increment); -#endif + __ptr_t result = (__ptr_t) __sbrk (increment); if (result == (__ptr_t) -1) return NULL; return result;