X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=malloc.c;h=ce406d2f8456fedadc75817972a92da3f9e9b9a0;hb=fca1d8b34fac5a740ae67bc3b873bc01cd76a8a9;hp=4f0bb4a5c3aa69be4f1d23a1675857e4076b59b0;hpb=9ddc1e7af8675795ad0346c1274fd40d4096c50f;p=p5sagit%2Fp5-mst-13.2.git diff --git a/malloc.c b/malloc.c index 4f0bb4a..ce406d2 100644 --- a/malloc.c +++ b/malloc.c @@ -409,7 +409,7 @@ # define pTHX void # define pTHX_ # ifdef HASATTRIBUTE_UNUSED -# define dTHX PERL_UNUSED_DECL(extern int Perl___notused) +# define dTHX extern int Perl___notused PERL_UNUSED_DECL # else # define dTHX extern int Perl___notused # endif @@ -1291,10 +1291,12 @@ write2(char *mess) #ifdef DEBUGGING #undef ASSERT -#define ASSERT(p,diag) if (!(p)) botch(diag,STRINGIFY(p),__FILE__,__LINE__); else +#define ASSERT(p,diag) if (!(p)) botch(diag,STRINGIFY(p),__FILE__,__LINE__); + static void botch(char *diag, char *s, char *file, int line) { + dVAR; if (!(PERL_MAYBE_ALIVE && PERL_GET_THX)) goto do_write; else { @@ -1408,6 +1410,7 @@ cmp_pat_4bytes(unsigned char *s, size_t nbytes, const unsigned char *fill) Malloc_t Perl_malloc(register size_t nbytes) { + dVAR; register union overhead *p; register int bucket; register MEM_SIZE shiftr; @@ -1665,6 +1668,7 @@ get_from_bigger_buckets(int bucket, MEM_SIZE size) static union overhead * getpages(MEM_SIZE needed, int *nblksp, int bucket) { + dVAR; /* Need to do (possibly expensive) system call. Try to optimize it for rare calling. */ MEM_SIZE require = needed - sbrked_remains; @@ -1865,6 +1869,7 @@ getpages_adjacent(MEM_SIZE require) static void morecore(register int bucket) { + dVAR; register union overhead *ovp; register int rnu; /* 2^rnu bytes will be requested */ int nblks; /* become nblks blocks of the desired size */ @@ -1997,11 +2002,12 @@ morecore(register int bucket) } Free_t -Perl_mfree(void *mp) +Perl_mfree(Malloc_t where) { + dVAR; register MEM_SIZE size; register union overhead *ovp; - char *cp = (char*)mp; + char *cp = (char*)where; #ifdef PACK_MALLOC u_char bucket; #endif @@ -2103,6 +2109,7 @@ Perl_mfree(void *mp) Malloc_t Perl_realloc(void *mp, size_t nbytes) { + dVAR; register MEM_SIZE onb; union overhead *ovp; char *res; @@ -2318,7 +2325,7 @@ Perl_strdup(const char *s) MEM_SIZE l = strlen(s); char *s1 = (char *)Perl_malloc(l+1); - return CopyD(s, s1, (MEM_SIZE)(l+1), char); + return (char *)CopyD(s, s1, (MEM_SIZE)(l+1), char); } #ifdef PERL_CORE @@ -2341,7 +2348,7 @@ Perl_putenv(char *a) if (l < sizeof(buf)) var = buf; else - var = Perl_malloc(l + 1); + var = (char *)Perl_malloc(l + 1); Copy(a, var, l, char); var[l + 1] = 0; my_setenv(var, val+1);