Slightly optimize the memoizer, bootstrap evaluator, and `(ice-9 eval)'.
authorLudovic Courtès <ludo@gnu.org>
Thu, 4 Mar 2010 23:20:18 +0000 (00:20 +0100)
committerLudovic Courtès <ludo@gnu.org>
Thu, 4 Mar 2010 23:36:47 +0000 (00:36 +0100)
commitb7ecadca7b84a5c9229001354f7b902ef94b5ac5
tree2677d9036083f957fffe4f2244713e057c287471
parent83a7171bf369d67a5cbb48568ba9727600e72a11
Slightly optimize the memoizer, bootstrap evaluator, and `(ice-9 eval)'.

* libguile/eval.c (CAR, CDR, CAAR, CADR, CDAR, CDDR, CADDR, CDDDR): Use
  the macro variants, not the functions.
  (eval)[SCM_M_CALL]: When invoking a VM program, accumulate its
  arguments on the stack rather than on the heap.

* libguile/memoize.c (CAR, CDR, CAAR, CADR, CDAR, CDDR, CADDR, CDDDR,
  CADDR): Use the macro variants, not the functions.
  (scm_memoized_expression_typecode): Use `SCM_I_MAKINUM' instead of
  `scm_from_uint16'.
libguile/eval.c
libguile/memoize.c