X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fpolicies.lisp;h=53b21e4917819c3c8799f39a69dc38c5f8d89750;hb=f7faed97898dd0e94a18b0d1fca03aaa0fe24ab0;hp=18437bb54a1c908b4811e9c824f69ab62cac246a;hpb=e7b2c507c364da9395ad1f9591210dac44f24afd;p=sbcl.git diff --git a/src/compiler/policies.lisp b/src/compiler/policies.lisp index 18437bb..53b21e4 100644 --- a/src/compiler/policies.lisp +++ b/src/compiler/policies.lisp @@ -62,27 +62,18 @@ more reliable bactracing across foreign calls.") ("no" "maybe" "yes" "yes")) (define-optimization-quality merge-tail-calls - (if (or (> space debug) - (> speed debug)) - 3 - 0) - ("no" "maybe" "yes" "yes") - "Control whether tail-calls should reuse caller stack frame. -Enabling this option make functions use less stack space, and make -tail-recursive functions execute in constant stack, but debugging -become harder, because backtraces show only part of function call -sequence. - -This options has no effect when INSERT-DEBUG-CATCH is set.") + 3 + "Deprecated: has no effect on compiled code. (Never really did.)") (define-optimization-quality insert-debug-catch (if (> debug (max speed space)) 3 0) ("no" "maybe" "yes" "yes") - "Enable possibility of returning from stack frames with the debugger. - -Enabling this option effectively disables MERGE-TAIL-CALLS.") + "Enables possibility of returning from stack frames with the debugger. +Enabling this option causes apparent tail calls to no longer be in a tail +position -- effectively disabling tail-merging, hence causing apparently tail +recursive functions to no longer execute in constant stack space") (define-optimization-quality recognize-self-calls (if (> (max speed space) debug)