[Openmcl-devel] tail calls in 1.3 IDE?
gb at clozure.com
Thu Aug 13 21:00:47 UTC 2009
Someone checked in some code in some EasyGUI source file at some point
that does something like:
(declaim (optimize (safety 3) (debug 3) ...))
They presumably intended to wrap that in an (EVAL-WHEN (:COMPILE-TOPLEVEL) ...
As Gail noted, that was fixed in the trunk a while ago but was still
present in 1.3 until a minute or two ago.
On Thu, 13 Aug 2009, Brian Hayes wrote:
> As far as I can tell, tail-call optimization has stopped working in
> 1.3 versions of CCL when running under the IDE. Are others seeing this
> same change in behavior? Was the change deliberate? Is there some
> setting that controls it?
> (defun tail-test (n)
> (if (zerop n)
> (tail-test (1- n))))
> (tail-test 1000000)
> This succeeds under CCL 1.2 in the IDE (I've tested PPC and x8664
> versions). It also succeeds in 1.3 when running in the terminal. But
> it fails with a stack overflow in 1.3 under the IDE. The backtrace
> shows some 60,000 stack frames. (I've tested fresh downloads of the
> prepackaged .dmg for PPC and x8664 as well as a newly svn-updated 1.3-
> r12575M (DarwinX8664). )
> It looks as if a tracing or debugging facility may have been turned on
> by default in the IDE. If so, can someone show me the magic switch
> that turns it off?
> Brian Hayes
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
More information about the Openmcl-devel