sbcl.sbcl/doc
Charles Zhang a47c806ca9 x86: Check for stack overflow for large stack allocated objects.
On x86, the stack guard page could get missed when allocating large
objects on the stack (over 1 page). Instead of giving up or only
allowing this on low safety, just check explicitly whether an overflow
could happen and signal an appropriate condition.

Other platforms don't need this overflow check as urgently, since they
do zero-filling which ensures that they will in fact hit the guard
page eventually before the stack is manipulated again. (Although there
may not be any space left for the handler to do its thing. In any
case, a similar check could be added.)

We can remove the TRULY-DYNAMIC-EXTENT declaration now, since its only
purpose was to facilitate the old way of just avoiding allocations
that could silently overflow the stack. If we really want to skip the
overflow check during self-build always, that could just be achieved
via a special variable. No need to have an extra "internal-only"
declaration to do that. This simplifies frontend processing of dynamic
extent.

Add a test exhibiting large stack allocation interacting with the
limited stack size.
2023-09-28 23:05:17 +02:00
..
cmu-user Remove cmu-user.dict 2022-10-03 18:44:01 -04:00
internals Remove all remnants of FSHOW and QSHOW 2023-07-15 11:58:25 -04:00
internals-notes Checkin design document for Hayley Patton's GC 2023-08-09 12:21:14 -04:00
manual x86: Check for stack overflow for large stack allocated objects. 2023-09-28 23:05:17 +02:00
clean.sh Tighten up the cd-then-clean.sh idiom. 2021-03-14 19:37:32 +03:00
entities.inc 0.8.6.1: 2003-11-26 02:11:09 +00:00
FOR-CMUCL-DEVELOPERS Remove #\! reader macro 2019-01-30 13:05:59 -05:00
GIT-FOR-SBCL-HACKERS.txt 1.0.20.29: small FIND fix & win32 build fix 2008-09-24 14:55:13 +00:00
GIT-WORKFLOW.md A git-only SBCL workflow 2011-06-06 09:48:08 +03:00
make-doc.sh 1.0.42.51: disable split html manual building 2010-09-21 15:29:10 +00:00
PACKAGING-SBCL.txt A git-only SBCL workflow 2011-06-06 09:48:08 +03:00
README 1.0.13.22: text tweaks 2008-01-10 15:54:04 +00:00
sbcl.1 Update random bits of text 2020-08-24 16:31:22 -04:00

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>.