author | Camm Maguire <camm@debian.org> | 2013年10月23日 17:42:19 +0000 |
---|---|---|
committer | Camm Maguire <camm@debian.org> | 2013年10月23日 18:59:56 +0000 |
commit | 92d9d52591c281218cf85a21dfb40a40a1424574 (patch) | |
tree | 26f9a15de3db89e08289b574f304af730913a1e5 | |
parent | 9b17f38c25f7d200fbb81870df8748bba03ce79d (diff) | |
download | gcl-92d9d52591c281218cf85a21dfb40a40a1424574.tar.gz |
-rw-r--r-- | gcl/o/alloc.c | 1 | ||||
-rwxr-xr-x | gcl/o/main.c | 2 |
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; |