core: Use 0.25% safety region.

* gc.c (gc_up_arena): Up GC_SAFETY too.
* scripts/repl.mes: Remove MES_ARENA override.
This commit is contained in:
Jan Nieuwenhuizen 2017-04-02 12:58:18 +02:00
parent f9aedd1466
commit f79adb637f
3 changed files with 7 additions and 3 deletions

2
gc.c
View file

@ -23,9 +23,11 @@ gc_up_arena () ///((internal))
{ {
#if _POSIX_SOURCE #if _POSIX_SOURCE
ARENA_SIZE *= 2; ARENA_SIZE *= 2;
GC_SAFETY *= 2;
void *p = realloc (g_cells-1, 2*ARENA_SIZE*sizeof(struct scm)); void *p = realloc (g_cells-1, 2*ARENA_SIZE*sizeof(struct scm));
#else #else
ARENA_SIZE = ARENA_SIZE * 2; ARENA_SIZE = ARENA_SIZE * 2;
GC_SAFETY = GC_SAFETY * 2;
//p = realloc (g_cells-1, 2*ARENA_SIZE*sizeof(struct scm)); //p = realloc (g_cells-1, 2*ARENA_SIZE*sizeof(struct scm));
int size = ARENA_SIZE * 2; int size = ARENA_SIZE * 2;
size = size * 12; size = size * 12;

4
mes.c
View file

@ -43,7 +43,9 @@ typedef int bool;
int ARENA_SIZE = 100000; int ARENA_SIZE = 100000;
int MAX_ARENA_SIZE = 20000000; 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; typedef int SCM;
enum type_t {TCHAR, TCLOSURE, TCONTINUATION, TFUNCTION, TKEYWORD, TMACRO, TNUMBER, TPAIR, TREF, TSPECIAL, TSTRING, TSYMBOL, TVALUES, TVECTOR, TBROKEN_HEART}; enum type_t {TCHAR, TCLOSURE, TCONTINUATION, TFUNCTION, TKEYWORD, TMACRO, TNUMBER, TPAIR, TREF, TSPECIAL, TSTRING, TSYMBOL, TVALUES, TVECTOR, TBROKEN_HEART};

View file

@ -1,8 +1,8 @@
#! /bin/sh #! /bin/sh
# -*-scheme-*- # -*-scheme-*-
MES=${MES-$(dirname $0)/mes} MES=${MES-$(dirname $0)/mes}
MES_ARENA=${MES_ARENA-30000000} #MES_ARENA=${MES_ARENA-30000000}
export MES_ARENA #export MES_ARENA
prefix=module/ prefix=module/
cat $prefix/mes/base-0.mes $0 /dev/stdin | $MES $MES_FLAGS "$@" cat $prefix/mes/base-0.mes $0 /dev/stdin | $MES $MES_FLAGS "$@"
#paredit:| #paredit:|