altos/lisp: have 'while' return the last body value
[fw/altos] / src / lisp / ao_lisp.h
index ea8d98b5b57eb9cea7d6bc4bbee02007e972a543..bcefbabf76abeae8fb3b2fae8166bc48c362660d 100644 (file)
@@ -118,9 +118,6 @@ ao_lisp_is_const(ao_poly poly) {
        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)
 
@@ -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) {
-       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) {
-       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) {
-       struct ao_lisp_frame *frame = ao_lisp_ref(poly);
-       if (frame && frame->_num == 0xff)
-               ao_lisp_abort();
        return ao_lisp_ref(poly);
 }