projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/lisp: have 'while' return the last body value
[fw/altos]
/
src
/
lisp
/
ao_lisp.h
diff --git
a/src/lisp/ao_lisp.h
b/src/lisp/ao_lisp.h
index ea8d98b5b57eb9cea7d6bc4bbee02007e972a543..bcefbabf76abeae8fb3b2fae8166bc48c362660d 100644
(file)
--- a/
src/lisp/ao_lisp.h
+++ b/
src/lisp/ao_lisp.h
@@
-118,9
+118,6
@@
ao_lisp_is_const(ao_poly poly) {
return poly & AO_LISP_CONST;
}
return poly & AO_LISP_CONST;
}
-#define AO_LISP_POOL_BASE (ao_lisp_pool - 4)
-#define AO_LISP_CONST_BASE (ao_lisp_const - 4)
-
#define AO_LISP_IS_CONST(a) (ao_lisp_const <= ((uint8_t *) (a)) && ((uint8_t *) (a)) < ao_lisp_const + AO_LISP_POOL_CONST)
#define AO_LISP_IS_POOL(a) (ao_lisp_pool <= ((uint8_t *) (a)) && ((uint8_t *) (a)) < ao_lisp_pool + AO_LISP_POOL)
#define AO_LISP_IS_CONST(a) (ao_lisp_const <= ((uint8_t *) (a)) && ((uint8_t *) (a)) < ao_lisp_const + AO_LISP_POOL_CONST)
#define AO_LISP_IS_POOL(a) (ao_lisp_pool <= ((uint8_t *) (a)) && ((uint8_t *) (a)) < ao_lisp_pool + AO_LISP_POOL)
@@
-167,22
+164,15
@@
struct ao_lisp_frame {
#define AO_LISP_FRAME_MARK 0x80
static inline int ao_lisp_frame_num(struct ao_lisp_frame *f) {
#define AO_LISP_FRAME_MARK 0x80
static inline int ao_lisp_frame_num(struct ao_lisp_frame *f) {
- if (f->_num == 0xff)
- ao_lisp_abort();
return f->_num & AO_LISP_FRAME_NUM_MASK;
}
static inline int ao_lisp_frame_marked(struct ao_lisp_frame *f) {
return f->_num & AO_LISP_FRAME_NUM_MASK;
}
static inline int ao_lisp_frame_marked(struct ao_lisp_frame *f) {
- if (f->_num == 0xff)
- ao_lisp_abort();
return f->_num & AO_LISP_FRAME_MARK;
}
static inline struct ao_lisp_frame *
ao_lisp_poly_frame(ao_poly poly) {
return f->_num & AO_LISP_FRAME_MARK;
}
static inline struct ao_lisp_frame *
ao_lisp_poly_frame(ao_poly poly) {
- struct ao_lisp_frame *frame = ao_lisp_ref(poly);
- if (frame && frame->_num == 0xff)
- ao_lisp_abort();
return ao_lisp_ref(poly);
}
return ao_lisp_ref(poly);
}