NextPrevUpTopContentsIndex

9.6.3 Tail call optimization

In 64-bit LispWorks and on x86 platforms the compiler optimizes tail calls unless

  1. The compiler optimize quality debug is 3, or
  2. There is something with dynamic scope on the stack, such as a special binding, a catch or dynamic-extent allocation (so it is not really a tail call)
  3. On all other platforms the compiler optimizes tail calls unless 1.) or 2.) above apply, or

  4. The call has more than 4 arguments and this is more than the number of fixed (not &optional / &rest / &key ) parameters in the calling function.
  5. The call has more than 4 arguments and the calling function has &rest / &key parameters.

LispWorks User Guide - 21 Jul 2006

NextPrevUpTopContentsIndex