| Bill Allombert on Sun, 13 Jun 2004 14:35:19 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: patch for a `soft stack limit' |
On Thu, Jan 15, 2004 at 10:55:09PM +0100, Bill Allombert wrote:
> I fixed only new_chunk(). There are others routines that can raise
> errpile but I consider this is a bug.
The patch below fix that (independently of whether vbot is implemented).
Cheers,
Bill
Index: src/basemath/bibli1.c
===================================================================
RCS file: /home/cvs/pari/src/basemath/bibli1.c,v
retrieving revision 1.235
diff -u -r1.235 bibli1.c
--- src/basemath/bibli1.c 6 Jun 2004 09:02:37 -0000 1.235
+++ src/basemath/bibli1.c 13 Jun 2004 12:17:41 -0000
@@ -1894,23 +1894,20 @@
void
init_dalloc()
{ /* correct alignment for dalloc */
- avma -= avma % sizeof(double);
- if (avma < bot) err(errpile);
+ new_chunk((avma % sizeof(double)) / sizeof(long));
}
double *
dalloc(size_t n)
{
- if (avma - bot < n) err(errpile);
- avma -= n; return (double*)avma;
+ return (double*)new_chunk(n / sizeof(long));
}
char *
stackmalloc(size_t N)
{
- size_t n = nchar2nlong(N) * sizeof(long);
- if (avma - bot < n) err(errpile);
- avma -= n; return (char*)avma;
+ long n = nchar2nlong(N);
+ return (char*)new_chunk(n);
}
static double