mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
With all the machinery in place to insert cleanup code correctly given multiple derived dynamic extents, we just need to weaken the condition for stack allocating a closure from having a single reference to having all references be downward funarg uses. Update the manual not only to document this new optimization but also the existing way for users to declare downward funargs for their own functions. Also, there are a couple cases in the self-build where this optimization applies. Remove those explicit dynamic extent declarations which no longer do (or never did) anything and let the compiler prove/auto-stack-allocate many of the valid cases. This makes it easier to find the cases that the compiler cannot prove safe to stack allocate yet, which led to finding some potential optimizations that don't work yet, which failing test cases have been added for. |
||
|---|---|---|
| .. | ||
| cmu-user | ||
| internals | ||
| internals-notes | ||
| manual | ||
| clean.sh | ||
| entities.inc | ||
| FOR-CMUCL-DEVELOPERS | ||
| GIT-FOR-SBCL-HACKERS.txt | ||
| GIT-WORKFLOW.md | ||
| make-doc.sh | ||
| PACKAGING-SBCL.txt | ||
| README | ||
| sbcl.1 | ||
SBCL is -- ahem! -- imperfectly documented. What can we say? Help with documentation might not be refused.:-) There is a Unix man page, sbcl.1. There is a user manual in texinfo format, in doc/manual/. (In binary distributions, the compiled-into-HTML translations are also included.) Much of the documentation for supported extensions is in their Lisp doc strings. For example, to find out how to use the SAVE-LISP-AND-DIE function in the SB-EXT package, you can execute (documentation 'sb-ext:save-lisp-and-die 'function) or (describe 'sb-ext:save-lisp-and-die) in SBCL. The user manual is incomplete, and some of its chapters are just notes that "this is similar to chapter such-and-such of the CMU CL user manual". The old CMU CL documentation can still be useful both for missing chapters of the user manual and for documentation of the internals of the system. It can be downloaded from <ftp://sbcl.sourceforge.net/pub/sbcl/cmucl-docs.tar.bz2>.