gcl.git - GNU Common Lisp

index : gcl.git
GNU Common Lisp
summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat
-rw-r--r--gcl/o/alloc.c 1
-rwxr-xr-xgcl/o/main.c 2
2 files changed, 2 insertions, 1 deletions
diff --git a/gcl/o/alloc.c b/gcl/o/alloc.c
index e31917b6e..07e29713a 100644
--- a/gcl/o/alloc.c
+++ b/gcl/o/alloc.c
@@ -273,6 +273,7 @@ set_tm_maxpage(struct typemanager *tm,fixnum n) {
fixnum r=tm->tm_type==t_relocatable,j=tm->tm_maxpage,z=(n-j)*(r ? 2 : 1);
if (z>available_pages) return 0;
+ if (r && 2*n+page(REAL_RB_START)>real_maxpage) return 0;
available_pages-=z;
tm->tm_adjgbccnt*=((double)j)/n;
tm->tm_maxpage=n;
diff --git a/gcl/o/main.c b/gcl/o/main.c
index 83f9e8260..16800824a 100755
--- a/gcl/o/main.c
+++ b/gcl/o/main.c
@@ -209,7 +209,7 @@ update_real_maxpage(void) {
j*=starting_relb_heap_mult;
j=j<k ? j : k;
if (maxrbpage<j)
- massert(set_tm_maxpage(tm_table+t_relocatable,j));
+ set_tm_maxpage(tm_table+t_relocatable,j);
return 0;
generated by cgit v1.2.3 (git 2.25.1) at 2025年09月02日 19:55:02 +0000

AltStyle によって変換されたページ (->オリジナル) /