From de1823922a039581573dea10cce045685c96822b Mon Sep 17 00:00:00 2001 From: Dmitry Boulytchev Date: Mon, 3 Dec 2018 17:01:32 +0300 Subject: [PATCH] Minor fixes in runtime (initialization\!) --- runtime/runtime.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/runtime/runtime.c b/runtime/runtime.c index f1aea04dd..4771b6e94 100644 --- a/runtime/runtime.c +++ b/runtime/runtime.c @@ -8,7 +8,7 @@ # include # include -// # define DEBUG_PRINT 1 +# define DEBUG_PRINT 1 # define STRING_TAG 0x00000001 # define ARRAY_TAG 0x00000003 @@ -200,12 +200,11 @@ extern void* Barray (int n, ...) { } extern void* Bsexp (int n, ...) { - va_list args; - int i; - // sexp *r = (sexp*) alloc (sizeof(int) * (n+2)); - // data *d = &(r->contents); - sexp *r; - data *d; + va_list args = (va_list) BOX(NULL); + int i = BOX(0); + int ai = BOX(0); + sexp *r = (sexp*) BOX(NULL); + data *d = (sexp*) BOX(NULL); #ifdef DEBUG_PRINT printf("Bsexp: allocate %zu!\n",sizeof(int) * (n+2)); @@ -218,7 +217,7 @@ extern void* Bsexp (int n, ...) { va_start(args, n); for (i=0; icontents)[i] = ai; } @@ -593,11 +592,12 @@ static void * gc (size_t size) { } static void * alloc (size_t size) { + void * p = BOX(NULL); if (from_space.current + size < from_space.end) { #ifdef DEBUG_PRINT printf("alloc: current: %x %zu", from_space.current, size); #endif - void * p = (void*) from_space.current; + p = (void*) from_space.current; from_space.current += size; #ifdef DEBUG_PRINT printf(";new current: %x \n", from_space.current);