summaryrefslogtreecommitdiff
path: root/src/lisp/ao_lisp.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2016-11-18 21:14:47 -0800
committerKeith Packard <keithp@keithp.com>2017-02-20 11:16:52 -0800
commitecef616599d5ec4fd5d42e67d0dc779a0630079b (patch)
treef25d37aac5002a23343b5d016bf4f0debcd208f0 /src/lisp/ao_lisp.h
parent4c812b8c903bd7e689572f8800ecc092af9cfe18 (diff)
altos/lisp: Use poly stashes for stacks
Saves some memory. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/lisp/ao_lisp.h')
-rw-r--r--src/lisp/ao_lisp.h24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/lisp/ao_lisp.h b/src/lisp/ao_lisp.h
index cea834fc..e238d4fe 100644
--- a/src/lisp/ao_lisp.h
+++ b/src/lisp/ao_lisp.h
@@ -468,22 +468,26 @@ struct ao_lisp_cons *
ao_lisp_cons_fetch(int id);
void
-ao_lisp_string_stash(int id, char *string);
+ao_lisp_poly_stash(int id, ao_poly poly);
-char *
-ao_lisp_string_fetch(int id);
+ao_poly
+ao_lisp_poly_fetch(int id);
void
-ao_lisp_stack_stash(int id, struct ao_lisp_stack *stack);
+ao_lisp_string_stash(int id, char *string);
-struct ao_lisp_stack *
-ao_lisp_stack_fetch(int id);
+char *
+ao_lisp_string_fetch(int id);
-void
-ao_lisp_poly_stash(int id, ao_poly poly);
+static inline void
+ao_lisp_stack_stash(int id, struct ao_lisp_stack *stack) {
+ ao_lisp_poly_stash(id, ao_lisp_stack_poly(stack));
+}
-ao_poly
-ao_lisp_poly_fetch(int id);
+static inline struct ao_lisp_stack *
+ao_lisp_stack_fetch(int id) {
+ return ao_lisp_poly_stack(ao_lisp_poly_fetch(id));
+}
/* cons */
extern const struct ao_lisp_type ao_lisp_cons_type;