diff --git a/gc.c b/gc.c index 7413184a..0c9c1608 100644 --- a/gc.c +++ b/gc.c @@ -23,9 +23,11 @@ gc_up_arena () ///((internal)) { #if _POSIX_SOURCE ARENA_SIZE *= 2; + GC_SAFETY *= 2; void *p = realloc (g_cells-1, 2*ARENA_SIZE*sizeof(struct scm)); #else ARENA_SIZE = ARENA_SIZE * 2; + GC_SAFETY = GC_SAFETY * 2; //p = realloc (g_cells-1, 2*ARENA_SIZE*sizeof(struct scm)); int size = ARENA_SIZE * 2; size = size * 12; diff --git a/mes.c b/mes.c index f8ff0446..8fc90cf0 100644 --- a/mes.c +++ b/mes.c @@ -43,7 +43,9 @@ typedef int bool; int ARENA_SIZE = 100000; int MAX_ARENA_SIZE = 20000000; -int GC_SAFETY = 20000; +//int GC_SAFETY_DIV = 400; +//int GC_SAFETY = ARENA_SIZE / 400; +int GC_SAFETY = 250; typedef int SCM; enum type_t {TCHAR, TCLOSURE, TCONTINUATION, TFUNCTION, TKEYWORD, TMACRO, TNUMBER, TPAIR, TREF, TSPECIAL, TSTRING, TSYMBOL, TVALUES, TVECTOR, TBROKEN_HEART}; diff --git a/scripts/repl.mes b/scripts/repl.mes index 4c4b07a0..3296f09f 100755 --- a/scripts/repl.mes +++ b/scripts/repl.mes @@ -1,8 +1,8 @@ #! /bin/sh # -*-scheme-*- MES=${MES-$(dirname $0)/mes} -MES_ARENA=${MES_ARENA-30000000} -export MES_ARENA +#MES_ARENA=${MES_ARENA-30000000} +#export MES_ARENA prefix=module/ cat $prefix/mes/base-0.mes $0 /dev/stdin | $MES $MES_FLAGS "$@" #paredit:|