diff options
| author | Keith Packard <keithp@keithp.com> | 2016-11-05 14:51:58 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2017-02-20 11:16:50 -0800 | 
| commit | 3366efb139653939f053c1fe4aba352ba3b66c94 (patch) | |
| tree | 57c01798cfaef078e4e8ca11680a9bb748ed3334 /src/lisp/ao_lisp_make_const.c | |
| parent | 6fc1ee0f7adc6fcb3e850bcbaabc1db705314234 (diff) | |
altos/lisp: Change GC move API
Pass reference to move API so it can change the values in-place, then
let it return '1' when the underlying object has already been moved to
shorten GC times.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/lisp/ao_lisp_make_const.c')
| -rw-r--r-- | src/lisp/ao_lisp_make_const.c | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/src/lisp/ao_lisp_make_const.c b/src/lisp/ao_lisp_make_const.c index 9c2ea74c..9768dc22 100644 --- a/src/lisp/ao_lisp_make_const.c +++ b/src/lisp/ao_lisp_make_const.c @@ -45,7 +45,12 @@ struct builtin_func funcs[] = {  	"-",		AO_LISP_LEXPR,	builtin_minus,  	"*",		AO_LISP_LEXPR,	builtin_times,  	"/",		AO_LISP_LEXPR,	builtin_divide, -	"%",		AO_LISP_LEXPR,	builtin_mod +	"%",		AO_LISP_LEXPR,	builtin_mod, +	"=",		AO_LISP_LEXPR,	builtin_equal, +	"<",		AO_LISP_LEXPR,	builtin_less, +	">",		AO_LISP_LEXPR,	builtin_greater, +	"<=",		AO_LISP_LEXPR,	builtin_less_equal, +	">=",		AO_LISP_LEXPR,	builtin_greater_equal,  };  ao_poly @@ -92,7 +97,7 @@ main(int argc, char **argv)  	printf("/*\n");  	printf(" * Generated file, do not edit\n");  	ao_lisp_root_add(&ao_lisp_frame_type, &globals); -	globals = ao_lisp_frame_new(0, 0); +	globals = ao_lisp_frame_new(0);  	for (f = 0; f < N_FUNC; f++) {  		b = ao_lisp_make_builtin(funcs[f].func, funcs[f].args);  		a = ao_lisp_atom_intern(funcs[f].name); @@ -127,8 +132,6 @@ main(int argc, char **argv)  	ao_lisp_collect();  	printf(" */\n"); -	globals->readonly = 1; -  	printf("#define AO_LISP_POOL_CONST %d\n", ao_lisp_top);  	printf("extern const uint8_t ao_lisp_const[AO_LISP_POOL_CONST] __attribute__((aligned(4)));\n");  	printf("#define ao_builtin_atoms 0x%04x\n", ao_lisp_atom_poly(ao_lisp_atoms)); | 
