projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/lisp: re-use small frames
[fw/altos]
/
src
/
lisp
/
ao_lisp_mem.c
diff --git
a/src/lisp/ao_lisp_mem.c
b/src/lisp/ao_lisp_mem.c
index e7ece96036ae1d31ce17f5d1a4a463385d3453f3..7e7464c4a59495f78752fb89464f48a4a29796a9 100644
(file)
--- a/
src/lisp/ao_lisp_mem.c
+++ b/
src/lisp/ao_lisp_mem.c
@@
-214,8
+214,16
@@
static const struct ao_lisp_root ao_lisp_root[] = {
static const void ** const ao_lisp_cache[] = {
(const void **) &ao_lisp_cons_free_list,
(const void **) &ao_lisp_stack_free_list,
static const void ** const ao_lisp_cache[] = {
(const void **) &ao_lisp_cons_free_list,
(const void **) &ao_lisp_stack_free_list,
+ (const void **) &ao_lisp_frame_free_list[0],
+ (const void **) &ao_lisp_frame_free_list[1],
+ (const void **) &ao_lisp_frame_free_list[2],
+ (const void **) &ao_lisp_frame_free_list[3],
};
};
+#if AO_LISP_FRAME_FREE != 4
+#error Unexpected AO_LISP_FRAME_FREE value
+#endif
+
#define AO_LISP_CACHE (sizeof (ao_lisp_cache) / sizeof (ao_lisp_cache[0]))
#define AO_LISP_BUSY_SIZE ((AO_LISP_POOL + 31) / 32)
#define AO_LISP_CACHE (sizeof (ao_lisp_cache) / sizeof (ao_lisp_cache[0]))
#define AO_LISP_BUSY_SIZE ((AO_LISP_POOL + 31) / 32)