projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/lisp: Change GC to do moves in batches of 32
[fw/altos]
/
src
/
lisp
/
ao_lisp_lambda.c
diff --git
a/src/lisp/ao_lisp_lambda.c
b/src/lisp/ao_lisp_lambda.c
index c53a38fd687f99533d4e7075082967ce99e87bde..6020a8b8b1a8482e970d891c49306171d7e593b5 100644
(file)
--- a/
src/lisp/ao_lisp_lambda.c
+++ b/
src/lisp/ao_lisp_lambda.c
@@
-47,6
+47,7
@@
const struct ao_lisp_type ao_lisp_lambda_type = {
.size = lambda_size,
.mark = lambda_mark,
.move = lambda_move,
.size = lambda_size,
.mark = lambda_mark,
.move = lambda_move,
+ .name = "lambda",
};
void
};
void
@@
-68,7
+69,9
@@
ao_lisp_lambda_print(ao_poly poly)
ao_poly
ao_lisp_lambda_alloc(struct ao_lisp_cons *code, int args)
{
ao_poly
ao_lisp_lambda_alloc(struct ao_lisp_cons *code, int args)
{
+ ao_lisp_cons_stash(0, code);
struct ao_lisp_lambda *lambda = ao_lisp_alloc(sizeof (struct ao_lisp_lambda));
struct ao_lisp_lambda *lambda = ao_lisp_alloc(sizeof (struct ao_lisp_lambda));
+ code = ao_lisp_cons_fetch(0);
struct ao_lisp_cons *arg;
int f;
struct ao_lisp_cons *arg;
int f;