VariablePackage: compilerToCDocOverviewCGDocRelNotesIndexPermutedIndex
Allegro CL version 6.2
Unrevised from 6.1

tail-call-non-self-merge-switch

As with all compiler switch variables, the value of this variable can be t, nil, or a function object that accepts four arguments and returns t or nil. The arguments passed to the function will be the values of the safety, space, speed, and debug 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.

If true, compiler will perform non-self-tail-merging (for functions in the tail position different than the function being executed). See Tail merging discussion for more information on tail-merging. Initially true if speed is greater than 1 and debug less than 2. (This is more restrictive than tail-call-self-merge-switch because references to the caller function are off the stack in this case but at least one call is on the stack in the self-merge case.)

See compiling.htm for information on the compiler.


Copyright (c) 1998-2002, Franz Inc. Oakland, CA., USA. All rights reserved.
Documentation for Allegro CL version 6.2. This page was not revised from the 6.1 page.
Created 2002.2.26.

ToCDocOverviewCGDocRelNotesIndexPermutedIndex
Allegro CL version 6.2
Unrevised from 6.1