From 7185f1d8f741e99a9bcc9cfbd08fa2edbba73e63 Mon Sep 17 00:00:00 2001 From: Camm Maguire Date: Thu, 11 Aug 2022 18:16:42 +0100 Subject: [PATCH] TODO: Put a short summary on the line above and replace this paragraph with a longer explanation of this change. Complete the meta-information with other relevant fields (see below for details). To make it easier, the information below has been extracted from the changelog. Adjust it or drop it. gcl (2.6.12-3) unstable; urgency=medium * Version_2_6_13pre2 Gbp-Pq: Name Version_2_6_13pre3 --- h/protoize.h | 3 +++ o/alloc.c | 33 +++++++++++++++++---------------- o/main.c | 1 + o/symbol.d | 2 +- pcl/makefile | 1 + 5 files changed, 23 insertions(+), 17 deletions(-) diff --git a/h/protoize.h b/h/protoize.h index 44bf57f..98517d3 100644 --- a/h/protoize.h +++ b/h/protoize.h @@ -1938,3 +1938,6 @@ check_avail_pages(void); inline int mbrk(void *); + +void +maybe_set_hole_from_maxpages(void); diff --git a/o/alloc.c b/o/alloc.c index d41cbbb..be37dee 100644 --- a/o/alloc.c +++ b/o/alloc.c @@ -259,19 +259,15 @@ eg to add 20 more do (si::set-hole-size %ld %d)\n...start over ", holepage -= nn; heap_end=v; - return e; + } else if (v>(void *)core_end) { + + massert(!mbrk(v)); + core_end=v; + } - - if (nn<=(core_end-heap_end)/PAGESIZE) - return(heap_end); - - if (mbrk(v)) - error("Can't allocate. Good-bye!"); - - core_end=v; - - return(heap_end); + + return(e); } @@ -1176,6 +1172,15 @@ object malloc_list=Cnil; #include +void +maybe_set_hole_from_maxpages(void) { + if (rb_start==heap_end && rb_end==rb_start && rb_limit==rb_start && rb_pointer==rb_start) { + holepage=new_holepage; + alloc_page(-holepage); + rb_start=rb_end=rb_limit=rb_pointer=heap_end+(holepage<s.s_fillp = i; sym->s.s_self = alloc_relblock(i); + sym->s.s_fillp = i; i=this_gensym_prefix->st.st_fillp; for (j = 0; j < i; j++) sym->s.s_self[j] = this_gensym_prefix->st.st_self[j]; diff --git a/pcl/makefile b/pcl/makefile index 9fb21cf..3ebc3ea 100644 --- a/pcl/makefile +++ b/pcl/makefile @@ -17,6 +17,7 @@ SETUP='(load "defsys.lisp")' \ '(setq compiler::*default-c-file* t)'\ '(setq compiler::*default-data-file* t)'\ '(setq compiler::*default-system-p* t)' \ + '(setq si::*code-block-reserve* (make-array 10000000 :element-type (quote character) :static t) a nil)' \ '(setq compiler::*keep-gaz* t compiler::*tmp-dir* "")' all: $(addsuffix .c,$(AFILES)) $(addsuffix .o,$(AFILES)) -- 2.30.2