Commit graph

574 commits

Author SHA1 Message Date
Gabor Melis 2be4173812 various documentation changes
Some checks are pending
CL-host / ecl (push) Waiting to run
CL-host / clisp (push) Waiting to run
CL-host / ccl (push) Waiting to run
CL-host / cmucl (push) Waiting to run
CL-host / sbcl (push) Waiting to run
CL-host / compare-xc-host-fasls (ccl, false) (push) Blocked by required conditions
CL-host / compare-xc-host-fasls (clisp, false) (push) Blocked by required conditions
CL-host / compare-xc-host-fasls (cmucl, false) (push) Blocked by required conditions
CL-host / compare-xc-host-fasls (self, false) (push) Blocked by required conditions
Linux arm / build (push) Waiting to run
Linux arm64 / build () (push) Waiting to run
Linux qemu / build (ppc64le) (push) Waiting to run
Linux qemu / build (riscv64) (push) Waiting to run
Linux / build (x86, --without-sb-unicode, ) (push) Waiting to run
Linux / build (x86, --with-sb-thread, ) (push) Waiting to run
Linux / build (x86, --without-sb-thread, ) (push) Waiting to run
Linux / build (x86-64, --with-mark-region-gc --with-nonstop-foreign-call) (push) Waiting to run
Linux / build (x86-64, --with-sb-fasteval --without-sb-eval --with-nonstop-foreign-call, fasteval) (push) Waiting to run
Linux / build (x86-64, --with-sb-thread --with-nonstop-foreign-call, sse4) (push) Waiting to run
Linux / build (x86-64, --with-sb-thread, ) (push) Waiting to run
Linux / build (x86-64, --without-sb-thread, ) (push) Waiting to run
Linux / build (x86-64, --without-sb-unicode, ) (push) Waiting to run
Mac / build (arm64, --with-mark-region-gc --with-nonstop-foreign-call) (push) Waiting to run
Mac / build (arm64, --with-sb-thread --with-nonstop-foreign-call) (push) Waiting to run
Mac / build (x86-64, --with-mark-region-gc --with-nonstop-foreign-call) (push) Waiting to run
Mac / build (x86-64, --with-sb-thread --with-nonstop-foreign-call) (push) Waiting to run
Windows arm64 / build (arm64, clang-aarch64, clangarm64) (push) Waiting to run
Windows / build (x86-64, ucrt-x86_64, ucrt64) (push) Waiting to run
- make bug reporting instructions more consistent

- add DOCUMENTATION file

- deduplicate Texinfo @cindex lines

- fix typos and URLs

- update obsolete references to Texinfo

- standardize the spelling of HyperSpec
2026-07-02 14:47:25 +02:00
Nikodemus Siivola 0f27506665 1.0.28.75: documentation work related to move to Launchpad
* Delete SUPPORT and minimize BUGS.

  The information that used to be there is now the first chapter of
  the manual: "Getting Support and Reporting Bugs", Maybe it belongs
  elsewhere, but IMO it should be as prominent as we can make it - so
  the first chapter for now.

  Refer to Lauchpad and sbcl-bugs in "Reporting Bugs".

  Remove Dan B. from support providers for now, given that
  metacircles.com is currently domain-parked.
2009-06-03 09:09:52 +00:00
Nikodemus Siivola 4af56c115e 1.0.28.2: fix bug 201, Incautious type inference from compound types
* Define LVAR-CONSERVATIVE-TYPE &co, which take into accound that a
   function call can change the type of a cons or a non-simple array
   without changing it's identity. Use this instead of LVAR-TYPE in
   derive-type optimizers for CAR and CDR, and in the ARRAY-DIMENSIONS
   transform. (There may be other places where it should be used as
   well, but I could not find anything else just now.)
2009-05-01 10:35:43 +00:00
Gabor Melis 4bf2de6a2a 1.0.26.8: QSHOW changes, bug reporting guidelines
- change runtime.h so that a simple '#define QSHOW_SIGNAL 1' turns
QSHOW automatically and defaults to blocking signals during printing

- add notes to BUGS on how to report bugs related to signal handling

- kill a warning in thread.c in code conditional on QSHOW_SIGNAL

- add #include <stdio.h> to x86{-64,}-darwin-os.c so that it compiles
  with QSHOW

- add comment explaining the previous commit
2009-03-17 14:05:45 +00:00
Nikodemus Siivola 7c406887c0 1.0.24.42: fix bug 235a
AKA https://bugs.launchpad.net/sbcl/+bug/309141

 * Replace DEFINED-FUN-FUNCTIONAL with DEFINED-FUN-FUNCTIONALS, and reuse
   the functional only if policy matches.
2009-01-14 18:37:20 +00:00
Nikodemus Siivola f5522c7149 1.0.23.64: fixed bug 395
* Add support for base-strings in fill-pointer output streams.

 * Also fix a bug revealed by this change in derivation of
   ARRAY-ELEMENT-TYPE return type.
2008-12-22 13:38:04 +00:00
Nikodemus Siivola 29003bacae 1.0.23.62: fix bug 357
Originally reported by Bruno Haible, more recently by Stephen Wilson.

 * SHARED-INITIALIZE (SLOT-OBJECT) should not check structure slots
   versus +SLOT-UNBOUND+: uninitialized slots are zeroed. Since adding
   slots to structure classes cannot cause those slots to be added to
   structure instances, we don't really have to check for boundness at
   all.

 * SB-PCL::STRUCTURE-TYPE-SLOT-DESCRIPTION-LIST and
   SB-PCL::MAKE-STRUCTURE-CLASS-DEFSTRUCT-FORM did not take overridden
   slot specifications into account, and the latter also omitted
   initform and type information.

 * Delete SB-PCL::ALLOCATE-STRUCTURE-INSTANCE, unused.

 * ALLOCATE-INSTANCE (STRUCTURE-OBJECT) should not fall back on
   ALLOCATE-STANDARD-INSTANCE.
2008-12-22 10:50:35 +00:00
Nikodemus Siivola 5919ecc5fe 1.0.23.60: fix bug 354: XEPs in backtraces, properly this time
* Don't terminate the block in MAYBE-TERMINATE-BLOCK even if the node
   is a call to a function that never returns if it is also the tail
   end of a XEP -- this allows TCO to deal with the XEP.

 * More stale bugs:
   ** 143 -- cannot replicate, interrupt handling has been robustified
      and partially redesigned since than, so confidence that this is
      really gone is reasonably high.
   ** 238 -- has gotten fixed at some point.
2008-12-21 09:51:01 +00:00
Nikodemus Siivola a32cea89ba 1.0.23.59: bug 3b has been fixed a while now
* Test case added.
2008-12-19 19:00:01 +00:00
Nikodemus Siivola 7522f76153 1.0.23.58: bug 405 has been fixed a while now
* Fixed as of 1.0.19.32.
2008-12-19 18:03:09 +00:00
Nikodemus Siivola 46ca19e3db 1.0.23.57: rewrite bug 217
* Case A is a non-issue. SBCL interprets "unpredictable but harmless"
   to mean "anything, but heap will no be corrupted, data lost, etc"
   -- that is, an error may or may not be signalled, but it the lisp
   session will remain sane and operable.

 * Case B is negated by the portability argument: since specifying both
   is unspecified, we should not build useful-seeming extensions on top
   of it, as it will only create portability problems for users.

 * Case C remains partially valid, except for the runtime WARNINGs.
   Integrated into the new text.
2008-12-19 16:14:58 +00:00
Nikodemus Siivola bc2977763a 1.0.23.56: special variables cause special cases in CLOS cleverness
* As we cannot reliably ensure nothing calls SET or (SETF
   SYMBOL-VALUE) on the special variable, we need to disable
   optimizations perutation vector optimizations for them.

 * For the same reason we cannot implicitly declare types for even
   local specials in DEFMETHODs.

 * Delete bug 276: the issue it refers to was fixed back when we
   stopped inserting declarations for special variables.
2008-12-19 15:20:43 +00:00
Nikodemus Siivola 53f576d7d7 1.0.23.55: three stale bugs
* 332, 369, 380: added test-cases which pass.
2008-12-19 13:46:34 +00:00
Nikodemus Siivola e3113504fc 1.0.23.38: fix bug 430 (stack alloc by nested defstruct constructors)
* Mark lambdas introduced by the compiler as such, so that
   LAMBDA-SYSTEM-LAMBDA-P returns true for them.

 * Allow USE-GOOD-FOR-DX-P to inspect COMBINATIONs with CLAMBDA
   functionals: if the return value of the function always originates
   from a known DX-capable combination, and the arguments of the
   original combination are used only by the DX-capable combination,
   consider the original combination good for DX.

 * Allow USE-GOOD-FOR-DX-P to inspect REFs to LAMBDA-VARs: if the var
   is bound by a system lambda, has no other refs, is never set, gets
   its value from a single-value combination, and the LVAR it gets its
   value from is good for DX ... then the REF is good for DX as well.

 * HANDLE-NESTED-DYNAMIC-EXTENT-LVARS handles REFs as well by
   recursing on the lvar the REF gets its value from.
2008-12-12 13:05:23 +00:00
Nikodemus Siivola 4b585c19dc 1.0.22.15: 16 byte align assembly routines on x86 and x86-64
* Modern processors like it that way, and x86-64 was mostly there
   already.

 * Also fix a stupid typo in bug 419.
2008-11-04 18:56:27 +00:00
Nikodemus Siivola ed72064bbc 1.0.22.13: fixed bug 426: nested inline expansion failure
* In RECOGNIZE-KNOWN-CALL, if an inline function has already been
   converted in the component, replace the REF-LEAF with the
   functional.

 * Test cases.
2008-11-03 18:09:38 +00:00
Nikodemus Siivola 2737576313 1.0.21.29: handle alien record type redefinitions (bug 431)
* Make PARSE-ALIEN-RECORD-FIELD return the parsed values instead of
   frobbing the type object.

 * In PARSE-ALIEN-RECORD-TYPE use that to parse the new fields so that
   we can compare them to the old ones -- signal a continuable error
   if there is a mismatch.
2008-10-18 14:11:19 +00:00
Nikodemus Siivola d68756e535 1.0.21.11: record bug 431
* Random pick from my sbcl-devel backlog.
2008-10-07 11:46:47 +00:00
Nikodemus Siivola 37200d73df 1.0.21.10: DEFINE-COMPILER-MACRO and destructuring lambda-lists
* Were broken -- fix by using the special FUNCALL related magic is
   only for the outermost list, not sublists. Reported by Willem
   Broekema.

 * Adjust one of the existing tests to check for this.

 * Record bug 430: nested stack allocation does not work for structures.
2008-10-07 08:28:36 +00:00
Gabor Melis 013da4580d 1.0.20.27: fixed bug 415
* (MAKE-ARRAY (1- ARRAY-DIMENSION-LIMIT)) does not cause GC invariant loss.

  ARRAY-DIMENSION-LIMIT was lowered by two to leave space for the
  array header.

  * logged FORMAT bug
2008-09-23 21:52:57 +00:00
Gabor Melis 85a4dd1c1d 1.0.20.22: record bug 429 2008-09-22 19:10:01 +00:00
Nikodemus Siivola 5d5894082c 1.0.19.22: fix bug #425
* Make CLOSE drop input buffers from ANSI-STREAMs. Reported by Damien
   Cassou on sbcl-devel.

 * Signal SB-INT:CLOSED-STREAM-ERROR instead of a SIMPLE-ERROR -- good
   for clarity, enables a proper test.
2008-08-05 10:38:36 +00:00
Nikodemus Siivola 6822034325 1.0.19.7: refactor stack allocation decisions
* Remove SB-C::STACK-ALLOCATE-* policies.

 * Obey DYNAMIC-EXTENT declarations if SB-EXT:*STACK-ALLOCATE-DYNAMIC-EXTENT*
   is true (the default), with the following exceptions:

    ** Value cells are not stack allocated.

    ** Vectors that may be longer then a single page are stack
       allocated only in SAFETY 0 policies.

 * New declaration: SB-INT:TRULY-DYNAMIC-EXTENT. Always stack-allocates,
   regardless of SB-EXT:*STACK-ALLOCATE-DYNAMIC-EXTENT*. Also causes stack
   allocation of value cells and potentially large vectors.

   Used exclusively inside SBCL.

 * Move STACK-ALLOCATE-RESULT optimizers from backends to
   src/compiler/generic/vm-ir2tran.lisp.

 * Documentation.
2008-07-30 17:58:39 +00:00
Nikodemus Siivola 367316f5f2 1.0.19.1: DERIVE-TYPE optimizer for %%PRIMITIVE
* Fixes #427: vintage TRULY-THE annotated the CALL early enough that
   the IR2 conversion of the %PRIMITIVE got the right primitive types.
   Now that TRULY-THE is a regular cast, an optimizer is needed to
   annotate the call.

 * Refactor FIND-TEMPLATE-RESULTS a bit.

 * Get rid of now-pointless TRULY-THE wrappers around several
   %PRIMITIVE calls.

 * Test-case.
2008-07-30 13:44:55 +00:00
Nikodemus Siivola 13c5e5dc4f 1.0.18.30: disable failing test in timer.impure.lisp
* Has been failing intermittently on various platforms, apparently as
   long as it has been there. Log as bug #428.
2008-07-30 11:38:51 +00:00
Nikodemus Siivola 672b2f6cb7 1.0.18.2: more conservative interval artihmetic
* In SAFELY-BINOP, when the other argument must be coerced to single
   float, punt if it is an integer that cannot be exactly represented
   as a single float.

 * Fixes bug 420, and a whole slew of MISC failures in ansi-tests --
   including the ones that used to cause a hard crash or a hang: cvs
   up -dPC your ansi-test trees, and should huzzah!
2008-06-30 09:00:37 +00:00
Nikodemus Siivola ed891a4fd8 1.0.16.37: fix bug #206 -- SB-FLUID build works once more
* Thanks to Sidney Markowitz for tracking down the bad INLINE
   declamations.
2008-05-17 20:05:09 +00:00
Nikodemus Siivola 389b5755b2 1.0.16.32: revert ANY-REG from registers for primitive type T on x86oids
* While register sets for DESCRIPTOR-REG and ANY-REG are identical on
   x86 and x86-64, the compiler reasons about them a bit differently
   -- so the earlier change is wrong, and caused a regression.

 * Test-case to catch the regression, reduced from Elephant sources.

 * Record the bug the earlier change tried to address as #427.
2008-05-15 16:10:02 +00:00
Nikodemus Siivola a572ab7de4 1.0.16.29: workaround for bug 419
* Require an explicit SB-C::STACK-ALLOCATE-VALUE-CELLS optimize
   declaration before stack allocating value cells to prevent
   returning garbage values from hairy user code.
2008-05-12 14:12:42 +00:00
Nikodemus Siivola 3a4d9dd3ad 1.0.16.17: log bug #426: inlining failure involing multiple nested calls
* Not a regression, but apparently of CMUCL vintage.
2008-05-05 13:26:06 +00:00
Nikodemus Siivola e119a2f79c 1.0.15.36: fix bug 423
* TRULY-THE no longer eagerly annotates the LVAR, but rather acts
   like THE in unsafe code. (Inserts a cast for which no type-check is
   generated.)

 * ALLOC-NUMBER-STACK-SPACE and ALLOC-ALIEN-STACK-SPACE were missing
   :RESULT-TYPES, which was masked by the old TRULY-THE
   implementation. (Tested on x86, x86-64, PPC, but all backends
   updated -- hopefully correctly.)

 * Docstrings for THE and TRULY-THE.

 FWIW, this patch seems to make PPC+GENCGC build happy once again: but
 I don't know if that means the problems there were/are related to bug
 423 -- or if the exact memory layout just happens to change subtly so
 that whatever corruption occurs, just happens to occur in a place
 where the GC doesn't see it anymore. (Or if the exact point at which
 GC runs is now just slightly different so that the problem pointers
 are not live anymore, or...)
2008-03-17 17:13:40 +00:00
Nikodemus Siivola afeb118568 1.0.15.29: record bugs 424 and 425 2008-03-13 15:40:28 +00:00
Nikodemus Siivola 3a7a422de4 1.0.14.41: record bug 423
* TRULY-THE interacts badly with *CHECK-CONSISTENCY*.
2008-02-22 19:10:36 +00:00
Nikodemus Siivola 6d3b9d5de8 1.0.14.36: faster PROPAGATE-FROM-SETS
20-25% improvement for the test-case in bug 188.

 * New slot in LAMBDA-VAR: LAST-INITIAL-TYPE, which holds the last
   initial-type for that variable seen by PROPAGATE-FROM-SETS.

 * Be lazy, and don't PROPAGATE-TO-REFS unless something of
   interest has happened, to wit:

    -- One of the CSET nodes has a new, more specific type.

    -- INITIAL-TYPE has become more specific.

   This also allows us elide TYPE-UNION computation in the
   uninteresting cases.

 * Requires having NODE-REOPTIMIZE set when IR1-OPTIMIZE-SET
   is called.
2008-02-18 19:25:22 +00:00
Nikodemus Siivola b4c650bad5 1.0.14.32: fix bug 407
* %SINGLE-FLOAT and %DOUBLE-FLOAT should not be flushable.

 * BUGS entry remains: should (COERCE (EXPT 2 1024) 'SINGLE-FLOAT)
   really signal a TYPE-ERROR?
2008-02-17 13:26:15 +00:00
Nikodemus Siivola 4ec46046e5 1.0.13.46: fixed bug #402
* Rewrite SPLIT-DECLARATIONS to use two (short) constant lists and
   INFO instead of *VAR-DECLARATIONS-WITH|WITHOUT-ARG*.

 * Test-case for #402.

 * While at it, replace the *VAR-DECLARATIONS* from walker as well,
   replacing it with WALKED-VAR-DECLARATION-P, and make VAR-DECLARATION
   use a compiler-macro to check for bogus-declarations when possible.
   (All our whopping 3 calls to it.)

 * Bug #413 was fixed in 1.0.13, remove it from BUGS.

 * Whitespace.
2008-01-21 14:40:54 +00:00
Nikodemus Siivola 3ca67be952 1.0.13.44: bug #414 has disappeared
* Most likely due to changes in debug instrumentation. :/
   Add to regression suite, in case it comes back.
2008-01-15 23:55:51 +00:00
Nikodemus Siivola dbb51da05e 1.0.13.39: record bug #421
* Unchecked RETURN reported by Kevin Reid.
2008-01-15 15:26:08 +00:00
Nikodemus Siivola 6da872adcd 1.0.13.31: update bug #108 (ROOM issues)
* 1.0.3.21 took care of the (SAP= CURRENT END) aver failure, but
   other issues remain.
2008-01-14 12:41:43 +00:00
Nikodemus Siivola f8535c1984 1.0.13.27: commentary on BUG #420
...adapted from sbcl-devel.
2008-01-13 18:08:01 +00:00
Nikodemus Siivola 41ebbebc36 1.0.13.23: record READ-CHAR-NO-HANG bug on Windows (#421)
* Reported by Elliot Slaughter.
2008-01-11 11:03:18 +00:00
William Harold Newman 7ea27ded7a 1.0.13.22: text tweaks
* logged a bug
	* searched for sbcl-devel references and added notes about
	  the need to subscribe (since the mailman bounce message is
	  particularly unhelpful, and I periodically get mail from
	  frustrated would-be posters)
	* fixed a few typoes
	* revised a few passages, and completely gave up on trying to
	  summarize SBCL performance in a paragraph in the man page
2008-01-10 15:54:04 +00:00
Alexey Dejneka df57e28475 1.0.3.17: new bug in DX value-cells. 2008-01-06 06:17:26 +00:00
Nikodemus Siivola b1cd84e050 1.0.11.35: fixed bug 417
* Don't store non-unique objects like symbols, fixnums,
  or characters in *SOURCE-PATHS*.

* For future refactoring ease, always access *SOURCE-PATHS*
  via GET-SOURCE-PATH and NOTE-SOURCE-PATH.
2007-11-20 14:50:40 +00:00
Nikodemus Siivola 2419deec84 1.0.11.34: better SUBSEQ on lists
* Be prepared to handle bignum cases (once we support
  them.)

* Better (and faster) error-checking.
2007-11-20 14:19:54 +00:00
NIIMI Satoshi 365286d3d1 1.0.10.43: Fix NaN comparison on x86-64
Comisd and comiss sets all of ZF, PF, and CF of EFLAGS if its
operand contains NaN.  Because PF is never set by normal
comparison, we use it to check NaN.  This is same as "=" vops.
2007-10-11 09:20:36 +00:00
William Harold Newman c1aa8b6b5b 1.0.10.12: logged bug 417 2007-09-28 12:56:23 +00:00
Nikodemus Siivola f3a7c6b548 1.0.6.59: bogus metacircles due to interrupted applicable method comp.
* If an interrupt arrives while have stuff on the *CACHE-MISS-VALUES-STACK*
   and the interrupt handler happens to call a gf that is already there,
   we used to think this was a metacircle. Instead we need to bind
   variables like this to "empty" values for interrupt hanlers.

 * Test.

 * Note some bugs.
2007-06-20 19:05:53 +00:00
Nikodemus Siivola 6483924c30 1.0.5.33: fix botched commit 1.0.5.32: partial fix for DISASSEMBLE buglet
* Test for >= length, not > length.

  * Record the remaining WARNING in BUGS.
2007-05-05 10:36:00 +00:00
Nikodemus Siivola 08315e3cd2 1.0.4.90: revert 1.0.4.89 changes to ROOM
* Cleaned up version conses too much.

 * Record the bug .89 was supposed to fix.
2007-04-16 04:38:07 +00:00