| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version |
As with most compiler switch variables, the value of this variable
can be t
, nil
, or a
function object that accepts five arguments and returns t
or nil
. The arguments
passed to the function will be the values of the safety, space, speed,
debug, and compilation-speed optimization qualities, in that order. nil
is equivalent to a function that always returns
nil
and t
to a
function that always returns t
. When the
value is a function and we say t
(or true) or
nil
(or false) in the text below, we mean
that the function returns, respectively, t
or
nil
.
This switch only has effect on platforms with
:verify-stack
on the *features*
list. On such platforms, checking
whether the stack pointer has gone beyond the stack cushion is
expensive. (A stack cushion is an artifical stack limit.If Lisp can
detect when this limit is reached, it can warn that the stack is
about to be exhausted -- if the stack truly runs out, Lisp will fail.)
If this switch is nil, code is not added to check the stack
cushion.
Highly recursive functions, at least, should be compiled with this
switch true since they might cause unrecoverable stack overflow. In
general, we do not recommend globally setting speed to 3 and safety to
0, which is what causes this switch to be nil
, but instead selectively compiling functions at
that setting when it is known that having this switch nil will not
cause a problem.
See compiling.htm for information on the compiler.
Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version |