All Manuals > LispWorks User Guide and Reference Manual > 9 The Compiler > 9.7 Optimizing your code

NextPrevUpTopContentsIndex

9.7.4 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 and Reference Manual - 21 Dec 2011

NextPrevUpTopContentsIndex