sbcl/simd.git
16 years agoMerged sbcl-1.0.14 with the sb-simd 1.3 patchesmaster
D Herring [Thu, 31 Jan 2008 21:55:38 +0000 (31 16:55 -0500)]
Merged sbcl-1.0.14 with the sb-simd 1.3 patches

16 years agoTweaks to get sb-simd 1.3 to compile
D Herring [Sun, 27 Jan 2008 01:02:36 +0000 (26 20:02 -0500)]
Tweaks to get sb-simd 1.3 to compile

Unit tests said:
Finished running tests.
Status:
 Expected failure:    debug.impure.lisp / (UNDEFINED-FUNCTION BUG-353)
 Expected failure:    external-format.impure.lisp / (CHARACTER-DECODE-LARGE
                                                     FORCE-END-OF-FILE)
 Failure:             run-program.impure.lisp / RUN-PROGRAM-ED
test failed, expected 104 return code, got 1

16 years agoAesthetic tweaks
D Herring [Sat, 26 Jan 2008 02:44:07 +0000 (25 21:44 -0500)]
Aesthetic tweaks

16 years agosb-simd patch version 1.3
D Herring [Sat, 26 Jan 2008 02:30:22 +0000 (25 21:30 -0500)]
sb-simd patch version 1.3

16 years ago1.0.14: release, will be tagged as sbcl_1_0_14
William Harold Newman [Sun, 27 Jan 2008 22:33:07 +0000 (27 22:33 +0000)]
1.0.14: release, will be tagged as sbcl_1_0_14

16 years ago1.0.13.53: Minor changes to SB-COVER, SB-MD5 tests for Win32
Richard M Kreuter [Wed, 23 Jan 2008 14:42:36 +0000 (23 14:42 +0000)]
1.0.13.53: Minor changes to SB-COVER, SB-MD5 tests for Win32

* Have SB-COVER use md5sums of filenames for URLs.

* Have the test of SB-MD5:MD5SUM-FILE take the md5sum of a fresh empty
  file, rather /dev/null or NUL, so that the test is independent of
  any other limitations in CL:OPEN on Windows.

16 years ago1.0.13.52: Fix typo in bit-vector.impure-cload.lisp
Richard M Kreuter [Wed, 23 Jan 2008 01:43:38 +0000 (23 01:43 +0000)]
1.0.13.52: Fix typo in bit-vector.impure-cload.lisp

* Test file didn't compile under #-gencgc builds.

16 years ago1.0.13.51: Fixups in mkstemp wrapper used in RUN-PROGRAM.
Richard M Kreuter [Tue, 22 Jan 2008 17:14:31 +0000 (22 17:14 +0000)]
1.0.13.51: Fixups in mkstemp wrapper used in RUN-PROGRAM.

* Preclude a buffer overflow (though one that cannot occur at present,
  given the single caller of this routine).  Contributed by Alex
  Plotnick.

16 years ago1.0.13.50: rename JECXZ to JRCXZ in the x86-64 backend for clarity
Nikodemus Siivola [Mon, 21 Jan 2008 14:46:52 +0000 (21 14:46 +0000)]
1.0.13.50: rename JECXZ to JRCXZ in the x86-64 backend for clarity

 * Thanks to Lutz Euler. (No 32 bit variant of the instruction in
   64-bit mode.)

16 years ago1.0.13.49: save source-locations for accessor methods defined via DEFCLASS
Nikodemus Siivola [Mon, 21 Jan 2008 14:44:45 +0000 (21 14:44 +0000)]
1.0.13.49: save source-locations for accessor methods defined via DEFCLASS

 * Just pass source-location / definition-source along the necessary
   code-paths -- all the required infra is already in place.

 * Also get the source locations for PCL itself: it would be embarassing
   not to have the source location for SB-PCL::DEFINITION-SOURCE. :)

16 years ago1.0.13.48: SET-CLOSED-FLAME set ANSI-STREAM-IN twice (harmless but silly)
Nikodemus Siivola [Mon, 21 Jan 2008 14:43:15 +0000 (21 14:43 +0000)]
1.0.13.48: SET-CLOSED-FLAME set ANSI-STREAM-IN twice (harmless but silly)

 * Thanks to David Smith.

16 years ago1.0.13.47: spurious INLINE declaration for (SETF FOO) from typed DEFSTRUCT
Nikodemus Siivola [Mon, 21 Jan 2008 14:41:57 +0000 (21 14:41 +0000)]
1.0.13.47: spurious INLINE declaration for (SETF FOO) from typed DEFSTRUCT

 * Thanks to David Smith.

16 years ago1.0.13.46: fixed bug #402
Nikodemus Siivola [Mon, 21 Jan 2008 14:40:54 +0000 (21 14:40 +0000)]
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.

16 years ago1.0.13.45: close the fd before deleting / moving files on CLOSE :ABORT T
Nikodemus Siivola [Wed, 16 Jan 2008 15:46:22 +0000 (16 15:46 +0000)]
1.0.13.45: close the fd before deleting / moving files on CLOSE :ABORT T

 * Windows is not happy about files with open handles dancing around.
   This should one of the SB-COVER problems on Windows, and is
   arguably better for posixoid platforms as well.

 * SET-CLOSED-FLAME immediately after closing the fd, since that is in
   a very real sense the boundary after which doing stream operations
   is going to lose.

 * Windows additions to .gitignore.

16 years ago1.0.13.44: bug #414 has disappeared
Nikodemus Siivola [Tue, 15 Jan 2008 23:55:51 +0000 (15 23:55 +0000)]
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.

16 years ago1.0.13.43: DIVIDE-BY-ZERO from BIGNUM-TRUNCATE
Nikodemus Siivola [Tue, 15 Jan 2008 23:24:04 +0000 (15 23:24 +0000)]
1.0.13.43: DIVIDE-BY-ZERO from BIGNUM-TRUNCATE

 * Pre 1.0.6.19 version ended up calling %FLOOR, and all was well. Now
   we need to check explicitly for zero. Reported by Michael Weber.

16 years ago1.0.13.42: character untagging test from Lutz Euler
Nikodemus Siivola [Tue, 15 Jan 2008 22:13:21 +0000 (15 22:13 +0000)]
1.0.13.42: character untagging test from Lutz Euler

 sbcl-devel 2007-05-01

16 years ago1.0.13.41: SB-SPROF:REPORT when there are no samples
Nikodemus Siivola [Tue, 15 Jan 2008 18:25:55 +0000 (15 18:25 +0000)]
1.0.13.41: SB-SPROF:REPORT when there are no samples

  * Used to signal an error -- report lack of samples, and return NIL
    instead. Reported by Andy Hefner on sbcl-devel 2008-01-06.

16 years ago1.0.13.40: CLASS-SLOTS signals an error for unfinalized classes
Nikodemus Siivola [Tue, 15 Jan 2008 18:10:45 +0000 (15 18:10 +0000)]
1.0.13.40: CLASS-SLOTS signals an error for unfinalized classes

 * AMOP requirement, reported by Levente Meszaros on
   sbcl-devel 2007-04-20.

 * New condition class for convenience:
   SB-INT:SIMPLE-REFERENCE-ERROR.

16 years ago1.0.13.39: record bug #421
Nikodemus Siivola [Tue, 15 Jan 2008 15:26:08 +0000 (15 15:26 +0000)]
1.0.13.39: record bug #421

 * Unchecked RETURN reported by Kevin Reid.

16 years ago1.0.13.38: final part of the debug-name improvements
Nikodemus Siivola [Tue, 15 Jan 2008 14:50:27 +0000 (15 14:50 +0000)]
1.0.13.38: final part of the debug-name improvements

 * Use NAME-LAMBDALIKE to construct the debug-name if :NAME is NIL.

 * Also make sure the SOURCE-NAME is not NIL, but .ANONYMOUS. if none
   is provided.

 * Correct handling of &OPTIONAL-PROCESSOR debug-names: the debug-name
   keyword is provided by the callers, so we cannot default it as part
   of the keyword parsing (in case it is NIL), additionally, even if
   we have a debug-name already, we still want to make up an
   &OPTIONAL-PROCESSOR debug-name.

 * Ensure (and strategically AVER) that we have a non-null debug-name
   for things which are .ANONYMOUS. -- by making up one using
   NAME-LAMBDALIKE if nothing else.

 * AVER that the second argument of DEBUG-NAME is not NIL.

 * Test that (COMPILE NIL '(LAMBDA ...)) doesn't make function which
   backtrace as NIL anymore.

16 years ago1.0.13.37: skip compilation of null and non-symbol toplevel atoms
Nikodemus Siivola [Tue, 15 Jan 2008 13:28:46 +0000 (15 13:28 +0000)]
1.0.13.37: skip compilation of null and non-symbol toplevel atoms

 * Not a performance consideration, but rather part of tidying up code
   paths that lead DEBUG-NAME to be called with NIL as the second
   argument (in IR1-TOPLEVEL the form becomes part of the
   TOP-LEVEL-FORM debug-name.)

16 years ago1.0.13.36: better HAIRY-FUNCTION-ENTRY debug-names
Nikodemus Siivola [Tue, 15 Jan 2008 12:25:54 +0000 (15 12:25 +0000)]
1.0.13.36: better HAIRY-FUNCTION-ENTRY debug-names

 * Instead of LVAR-FUN-NAME, use new LVAR-FUN-DEBUG-NAME, which works
   even for multiply-used lvars, by returning the list of names
   instead of just NIL.

16 years ago1.0.13.35: preserve source- and debug-name in IR1-OPTIMIZE-MV-CALL
Nikodemus Siivola [Tue, 15 Jan 2008 11:59:30 +0000 (15 11:59 +0000)]
1.0.13.35: preserve source- and debug-name in IR1-OPTIMIZE-MV-CALL

 * Copying them from the original leaf before converting the
   replacement function.

16 years ago1.0.3.34: better debug-name construction
Nikodemus Siivola [Tue, 15 Jan 2008 11:17:27 +0000 (15 11:17 +0000)]
1.0.3.34: better debug-name construction

 * Make *DEBUG-NAME-LEVEL* behave more like *PRINT-LEVEL*, and add
   *DEBUG-NAME-LENGTH*. Now, instead of the old

     (VARARG-ENTRY (LAMBDA (&OPTIONAL ("#<...>" . "#<...>") . "<...>")))

   we get

     (VARARG-ENTRY (LAMBDA (&OPTIONAL (FOO *BAR*) (QUUX *ZOT*)))

   which is a lot more useful.

 * Use slightly magical debug name markers that print as # and ...
   instead of strings when abbreviating names.

16 years ago1.0.3.33: use NAMED-LAMBDA instead of LAMBDA for pretty-printer predicates
Nikodemus Siivola [Tue, 15 Jan 2008 02:45:15 +0000 (15 02:45 +0000)]
1.0.3.33: use NAMED-LAMBDA instead of LAMBDA for pretty-printer predicates

 * AKA less mysterious (LAMBDA (OBJECT)) potential in statistical
   profiling &co. (No, I haven't been overly troubled by such functions,
   but since it is easy to give these ones names, we just as well may.)

16 years ago1.0.13.32: fix run-sbcl.sh when sh != bash in disguise
Nikodemus Siivola [Tue, 15 Jan 2008 02:29:50 +0000 (15 02:29 +0000)]
1.0.13.32: fix run-sbcl.sh when sh != bash in disguise

 ...2008! Shell portability issues! AAARGH!

 (Ok, slightly embarrassed as well.)

16 years ago1.0.13.31: update bug #108 (ROOM issues)
Nikodemus Siivola [Mon, 14 Jan 2008 12:41:43 +0000 (14 12:41 +0000)]
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.

16 years ago1.0.13.30: more README touchups
Nikodemus Siivola [Mon, 14 Jan 2008 12:22:11 +0000 (14 12:22 +0000)]
1.0.13.30: more README touchups

 * Texinfo, not DocBook since late 2004. :) We're fast on things
   like this.

 * HTML available for download, not part of the normal binary
   distribution.

 * Mention BUGS.

 * PURIFY doesn't happen on x86 Darwins, and I've never had to touch
   the limits on PPC either -- so delete that bit.

16 years ago1.0.13.29: run-sbcl.sh script
Nikodemus Siivola [Mon, 14 Jan 2008 12:05:32 +0000 (14 12:05 +0000)]
1.0.13.29: run-sbcl.sh script

 * I'm tired of typing the mantra, and it's probably good to make
   it easy for users too to run SBCL before installation.

 * Add to binary tarball, and mention in INSTALL.

16 years ago1.0.13.28: Add OPTIMIZE documentation for SBCL-specific optimize qualities.
Alexey Dejneka [Sun, 13 Jan 2008 20:39:21 +0000 (13 20:39 +0000)]
1.0.13.28: Add OPTIMIZE documentation for SBCL-specific optimize qualities.

16 years ago1.0.13.27: commentary on BUG #420
Nikodemus Siivola [Sun, 13 Jan 2008 18:08:01 +0000 (13 18:08 +0000)]
1.0.13.27: commentary on BUG #420

 ...adapted from sbcl-devel.

16 years ago1.0.13.26:
Kevin Rosenberg [Sun, 13 Jan 2008 03:59:54 +0000 (13 03:59 +0000)]
1.0.13.26:
        * sb-aclrepl: Display single-floats in IEEE-756 format for 64-bit
        platforms for consistency with 32-bit platforms.

16 years ago1.0.13.25: reinstante *PERIODIC-POLLING-FUNCTION*
Nikodemus Siivola [Sat, 12 Jan 2008 15:29:02 +0000 (12 15:29 +0000)]
1.0.13.25: reinstante *PERIODIC-POLLING-FUNCTION*

 * Instead of *MAX-EVENT-(U)SEC* use *PERIODIC-POLLING-PERIOD*.

 * After polling, if there is any more waiting left to do, call
   SUB-SERVE-EVENT again. (The old implementation did not do this,
   but this seems right to me.)

 * Export the API, and mark as EXPERIMENTAL. Unadvertised in the docs
   or NEWS for now -- but the docstrings should be clear enough.
   Waiting for happiness report from CLG folks before publishing this.

16 years ago1.0.13.24:
Kevin Rosenberg [Fri, 11 Jan 2008 18:59:58 +0000 (11 18:59 +0000)]
1.0.13.24:
        * sb-aclrepl: Fix inspection of single-floats on 64-bit platforms
        which are now unboxed data.

16 years ago1.0.13.23: record READ-CHAR-NO-HANG bug on Windows (#421)
Nikodemus Siivola [Fri, 11 Jan 2008 11:03:18 +0000 (11 11:03 +0000)]
1.0.13.23: record READ-CHAR-NO-HANG bug on Windows (#421)

 * Reported by Elliot Slaughter.

16 years ago1.0.13.22: text tweaks
William Harold Newman [Thu, 10 Jan 2008 15:54:04 +0000 (10 15:54 +0000)]
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

16 years ago1.0.13.21: MAP-ALLOCATED-OBJECTS robustification
Nikodemus Siivola [Thu, 10 Jan 2008 14:41:27 +0000 (10 14:41 +0000)]
1.0.13.21: MAP-ALLOCATED-OBJECTS robustification

 * There are two cases where we used to fail our AVER (SAP= CURRENT
   END) in MAP-ALLOCATED-OBJECTS:

   -- If we had constructed an unlucky bogus object or few during our
      heap traversal, we might be just sufficiently out of synch to
      overstep it.

   -- If we allocated new objects past the original END during heap
      traversal and, and the mapped over them.

 * Fix the last case always: before calling the provided function,
   check that the object ends before END.

 * Fix the second case for fastidious callers (and add an optional
   argument so callers can inform us about their fastidiousness) by
   using MAKE-LISP-OBJ instead of %MAKE-LISP-OBJ. ROOM still uses the
   old version, since the careful approach is too slow, and even
   the slow path uses %MAKE-LISP-OBJ in the less-error-prone cases.

   ...so not quite perfect yet.

16 years ago1.0.13.20: added SB-EXT:*EXIT-HOOKS*
Nikodemus Siivola [Thu, 10 Jan 2008 11:32:46 +0000 (10 11:32 +0000)]
1.0.13.20: added SB-EXT:*EXIT-HOOKS*

 * Also document *INIT-HOOKS* and *SAVE-HOOKS*.

 * Trailing whitespace cleanup in start-stop.texinfo.

16 years ago1.0.13.19: Odds and ends (OpenBSD NEWS, minor bug in PROBE-FILE, mkstemp())
Richard M Kreuter [Thu, 10 Jan 2008 01:48:12 +0000 (10 01:48 +0000)]
1.0.13.19: Odds and ends (OpenBSD NEWS, minor bug in PROBE-FILE, mkstemp())

* Add note about OpenBSD revival in NEWS

* PROBE-FILE, TRUENAME were returning an extra value from filename parsing

* Have our internal mkstemp() binding take a mode, and remove
  unix-chmod from sb-unix.  This slightly improves RUN-PROGRAM
  security on Unix platforms where mkstemp() doesn't create a new file
  with mode #o0600.

16 years ago1.0.13.18: Revived OpenBSD support, contributed by Josh Elsasser
Richard M Kreuter [Wed, 9 Jan 2008 19:12:23 +0000 (9 19:12 +0000)]
1.0.13.18: Revived OpenBSD support, contributed by Josh Elsasser

16 years ago1.0.3.17: new bug in DX value-cells.
Alexey Dejneka [Sun, 6 Jan 2008 06:17:26 +0000 (6 06:17 +0000)]
1.0.3.17: new bug in DX value-cells.

16 years ago1.0.13.16: Fix regression in FILE-AUTHOR.
Richard M Kreuter [Sat, 5 Jan 2008 14:43:13 +0000 (5 14:43 +0000)]
1.0.13.16: Fix regression in FILE-AUTHOR.

* Typo. File author should return the author, not the file write-date.
  Spotted by Damien Diederen.  Add test for same.

16 years ago1.0.13.15: Fix some VECTOR-PUSH-EXTEND problems
Juho Snellman [Fri, 4 Jan 2008 01:52:28 +0000 (4 01:52 +0000)]
1.0.13.15: Fix some VECTOR-PUSH-EXTEND problems

        * Ensure that the vector is always extended by at least one element
          when full, even if MIN-EXTENSION is smaller than 1. (Prevents
          array index overflows).
        * Don't try to extend a vector beyond ARRAY-DIMENSION-LIMIT.
        * Patch by Paul Khuong.

16 years ago1.0.13.14: Reduce character stream input consing
Juho Snellman [Fri, 4 Jan 2008 01:49:37 +0000 (4 01:49 +0000)]
1.0.13.14: Reduce character stream input consing

        * Inline UNIX-READ into REFILL-INPUT-BUFFER to remove SAP boxing,
          remove non-local exits over full call boundaries (patch by Paul
          Khuong).
        * Inline REFILL-BUFFER in READ-SEQUENCE and READ-LINE.
        * D-X-allocate value cells in REFILL-INPUT-BUFFER.

16 years ago1.0.13.13: Actually export RESOLVE-CONFLICT et al from SB-EXT
Christophe Rhodes [Thu, 3 Jan 2008 14:50:47 +0000 (3 14:50 +0000)]
1.0.13.13: Actually export RESOLVE-CONFLICT et al from SB-EXT
... as documented, but not as actually done.
Reported by Maciej Katafiasz sbcl-devel 2008-01-13

Also slightly better documentation links for *posix-argv*.

16 years ago1.0.13.12: Make :SB-HASH-TABLE-DEBUG feature more useful
Juho Snellman [Thu, 3 Jan 2008 03:54:05 +0000 (3 03:54 +0000)]
1.0.13.12: Make :SB-HASH-TABLE-DEBUG feature more useful

        * Only signal errors for concurrent writer/writer or reader/writer
          accesses, not reader/reader. (The latter is basically intended to
          always be safe).
        * Patch by Attila Lendvai

16 years ago1.0.13.11: ensure that sb-cover records don't clash with constants in user code
Juho Snellman [Wed, 2 Jan 2008 23:07:15 +0000 (2 23:07 +0000)]
1.0.13.11: ensure that sb-cover records don't clash with constants in user code

        * If a code coverage instrumentation record is coalesced with another
          constant in the same file, the "we know what we're doing" comment
          in INSTRUMENT-COVERAGE about modifying constants no longer applies.
          Changes to the record will be reflected in the other constant too,
          which is probably not what the user expected.
        * Ensure that coalescing cannot happen by using a symbol internal to
          SB-C as the CDR of the record (instead of NIL).
        * Reported separately by Christophe Rhodes and Rahul Jain.

16 years ago1.0.13.10: x86 MOVE-FROM-SIGNED & MOVE-FROM-UNSIGNED hackery
Nikodemus Siivola [Wed, 2 Jan 2008 12:04:08 +0000 (2 12:04 +0000)]
1.0.13.10: x86 MOVE-FROM-SIGNED & MOVE-FROM-UNSIGNED hackery

 * SIGNED: use IMUL and JNO to fixnumize / check for overflow: just
   one branch, but same size as the old SHL 1 & JNO twice method --
   faster on modern x86en.

 * UNSIGNED: always do the LEA after TEST. If we need to allocate a
   bignum the LEA should be noise -- just one jump needed this way.

 * Move bignum allocation out-of-line in both -- shrinks the core a
   bit, and with any luck may help with cache effects: specialize the
   allocation routines for each GP register, and pass the argument and
   result in the same register to minimize the code-size at
   call-sites. Thanks to NJF for the nicer out-of-line version using
   just the single register.

 * Remove / clarify old comments, and get rid of the old commented out
   versions.

16 years ago1.0.13.9: Fix another segfault from the new RESTART-FRAME instrumentation
Juho Snellman [Tue, 1 Jan 2008 18:16:29 +0000 (1 18:16 +0000)]
1.0.13.9: Fix another segfault from the new RESTART-FRAME instrumentation

        * When a function was inlined, and a XEP created for it in the same
          component, it was possible that a BIND-SENTINEL VOP would be emitted
          without a closing UNBIND-SENTINEL.
        * Fix this by never instrumenting inlined functions.
        * Reported by James Knight.

16 years ago1.0.13.8: Fix bug in ENSURE-DIRECTORIES-EXIST
Richard M Kreuter [Tue, 1 Jan 2008 15:07:53 +0000 (1 15:07 +0000)]
1.0.13.8: Fix bug in ENSURE-DIRECTORIES-EXIST

* ENSURE-DIRECTORIES-EXIST used NAMESTRING rather than
  NATIVE-NAMESTRING to construct filenames, and so failed when the
  pathname denoted a filename containing wildcard characters.

* Add tests for same.

16 years ago1.0.13.7: Fix off-by-one regression in STRING-LIST-TO-C-STRVEC
Juho Snellman [Tue, 1 Jan 2008 14:49:49 +0000 (1 14:49 +0000)]
1.0.13.7: Fix off-by-one regression in STRING-LIST-TO-C-STRVEC

        * "Since 1.0.12.21, the size variable already includes the null byte."
        * Patch by David Lichteblau

16 years ago1.0.13.6: Add missing sb-xc-host definition for sign-extend
Juho Snellman [Tue, 1 Jan 2008 14:45:33 +0000 (1 14:45 +0000)]
1.0.13.6: Add missing sb-xc-host definition for sign-extend

        * Patch by David Lichteblau

16 years ago1.0.13.5: Fix bugs in USER-HOMEDIR-PATHNAME, SBCL-HOMEDIR-PATHNAME
Richard M Kreuter [Tue, 1 Jan 2008 01:01:01 +0000 (1 01:01 +0000)]
1.0.13.5: Fix bugs in USER-HOMEDIR-PATHNAME, SBCL-HOMEDIR-PATHNAME

* Both these functions parsed filenames returned by system calls
  implicitly using to the syntax of *DEFAULT-PATHNAME-DEFAULTS*, and
  so would lose when *D-P-D* was a logical pathname host.  So have
  them parse filenames using explicit physical pathname hosts.

* Tests for same.

16 years ago1.0.13.4: Removing UNIX-NAMESTRING, part 4
Richard M Kreuter [Mon, 31 Dec 2007 18:39:23 +0000 (31 18:39 +0000)]
1.0.13.4: Removing UNIX-NAMESTRING, part 4

* PROBE-FILE, TRUENAME, FILE-WRITE-DATE, FILE-AUTHOR rewritten.
  Truenames now 78% more truthful.

16 years ago1.0.13.3: Fix minor bug in INPUT-STREAM-P, OUTPUT-STREAM-P
Richard M Kreuter [Sun, 30 Dec 2007 22:30:34 +0000 (30 22:30 +0000)]
1.0.13.3: Fix minor bug in INPUT-STREAM-P, OUTPUT-STREAM-P

* ANSI-STREAM-{INPUT,OUTPUT}-STREAM-P incorrectly assumed that a
  synonym stream's destination stream was an ANSI-STREAM, and so
  signaled errors when a synonym stream's target was a user-defined
  stream.  Reported by Jean-Philippe "Hexstream" Paradis in #lisp.

* Also add test for same.

16 years ago1.0.13.2: Removing UNIX-NAMESTRING, part 3 (sort of)
Richard M Kreuter [Sun, 30 Dec 2007 05:32:29 +0000 (30 05:32 +0000)]
1.0.13.2: Removing UNIX-NAMESTRING, part 3 (sort of)

* Add condition classes to SB-POSIX that are subclasses of FILE-ERROR,
  to give more precise information than vanilla FILE-ERRORs after
  users load SB-POSIX.

* Add code to sb-grovel in support of same.

16 years ago1.0.13.1: Various cleanups and touchups in tests/
Richard M Kreuter [Fri, 28 Dec 2007 19:46:57 +0000 (28 19:46 +0000)]
1.0.13.1: Various cleanups and touchups in tests/

* Tests written in shell modified to use shell functions, rather than
  variables, so that tests written in shell can run when the build
  directory's absolute pathname contains whitespace (as home
  directories might tend to on Windows).

* tests/subr.sh: new file, with some shell functions, variables, and
  settings to support the above.  Files in the test suite written in
  shell should source this file.

* Factored code for creating and cleaning up temporary directories for
  tests written in shell that touch the file system.  Test scripts
  written in shell should now call "use_test_subdirectory" to create
  and chdir to a test directory, and the shell should clean out the
  test directory at exit time.

* Most tests written in shell now quote filenames that derive from the
  truename of the current working directory or from an environment
  variable, as such names may contain whitespace.  (Variables set to
  non-offending constant strings in the script itself need not be
  quoted this way.)

* tests/filesys.test.sh was not prepared to deal with a TRUENAME that
  resolves all symbolic links in a pathname, as a soon-to-be-committed
  TRUENAME will; "/tmp" on MacOSX is a symbolic link to
  "/private/tmp".  POSIX pwd(1) takes a -P option to resolve symbolic
  links in the working directory's path, so we'll try that.

* Tests now supply --no-userinit, --no-sysinit arguments, so that we
  don't need to conditionalize these for win32.

* Some tests written in shell changed from using --eval <string> to
  heredocs, which allows the Lisp code the be formatted nicer and
  avoids some shell quotation headaches (not all, of course).

* Minor shell errors corrected in some tests.  Notable example:

    program; if [ $? != $value ]; then echo failed $?; fi

  Because "[" is a child process, after the test $? is set to the exit
  status of the "["; the exit status of "program" is lost.

16 years ago1.0.13: release, will be tagged as sbcl_1_0_13
William Harold Newman [Thu, 27 Dec 2007 13:12:29 +0000 (27 13:12 +0000)]
1.0.13: release, will be tagged as sbcl_1_0_13

16 years ago1.0.12.44: rename misnamed files in the NetBSD port, hopefully fixing it
Nikodemus Siivola [Mon, 24 Dec 2007 13:59:26 +0000 (24 13:59 +0000)]
1.0.12.44: rename misnamed files in the NetBSD port, hopefully fixing it

 "oops"

16 years ago1.0.12.43: Two tiny RUN-PROGRAM-related cleanups
Richard M Kreuter [Sat, 22 Dec 2007 22:07:11 +0000 (22 22:07 +0000)]
1.0.12.43: Two tiny RUN-PROGRAM-related cleanups

* Having removed FIND-EXECUTABLE-IN-SEARCH-PATH, remove the symbol
  from package-data-list.lisp-expr.

* A recently-added test for RUN-PROGRAM used a non-conforming
  "sleep 2s" command in a shell script.  POSIX sleep(1) is not required to
  accept the s.

16 years ago1.0.12.42: Fix minor regression in RUN-PROGRAM on win32
Richard M Kreuter [Fri, 21 Dec 2007 00:42:23 +0000 (21 00:42 +0000)]
1.0.12.42: Fix minor regression in RUN-PROGRAM on win32

* Recent RUN-PROGRAM changes allowed strange errors in SBCL when a
  child exited with a random negative exit status (e.g., when the
  child crashes).

16 years ago1.0.12.41: fix #-:sb-unicode build
Nikodemus Siivola [Thu, 20 Dec 2007 14:44:06 +0000 (20 14:44 +0000)]
1.0.12.41: fix #-:sb-unicode build

 * No need for cross-string replce transformations, as there is only
   one character type.

16 years ago1.0.12.40: NetBSD/Sparc port by Robert Swindells
Nikodemus Siivola [Thu, 20 Dec 2007 14:24:31 +0000 (20 14:24 +0000)]
1.0.12.40: NetBSD/Sparc port by Robert Swindells

 * No NEWS entry yet, until someone can confirm this does what it says
   on the tin. :)

 * A random smattering of CREDITS updates.

16 years ago1.0.12.39: Fix minor bug in new LOAD
Richard M Kreuter [Thu, 20 Dec 2007 01:15:40 +0000 (20 01:15 +0000)]
1.0.12.39: Fix minor bug in new LOAD

* A HANDLER-CASE was wrapped around too large a form, leading to a
  misleading resignaling in some failure cases.

16 years ago1.0.12.38: style-warning IMPLICIT-GENERIC-FUNCTION-WARNING
Nikodemus Siivola [Wed, 19 Dec 2007 16:10:11 +0000 (19 16:10 +0000)]
1.0.12.38: style-warning IMPLICIT-GENERIC-FUNCTION-WARNING

 * Specific condition to signal when a generic function is implicitly
   signalled instead of a SIMPLE-STYLE-WARNING.

16 years ago1.0.12.37: RUN-PROGRAM now uses execvp(3) to search for executables
Richard M Kreuter [Wed, 19 Dec 2007 02:28:12 +0000 (19 02:28 +0000)]
1.0.12.37: RUN-PROGRAM now uses execvp(3) to search for executables

* RUN-PROGRAM now uses execvp(3) in the child, rather than a Lisp
  function in SBCL, to search for an executable to run.  This makes
  RUN-PROGRAM slightly closer to most other languages' process
  creation facilities.

* The function FIND-EXECUTABLE-IN-SEARCH-PATH has been removed.  A
  note is added to the manual pointing users who need the old,
  idiosyncratic search behavior to look for it it in the CVS history.

16 years ago1.0.12.36: Removing UNIX-NAMESTRING, part 2
Richard M Kreuter [Mon, 17 Dec 2007 23:00:22 +0000 (17 23:00 +0000)]
1.0.12.36: Removing UNIX-NAMESTRING, part 2

* Rewrite LOAD in a manner that prepares it for a PROBE-FILE and
  FILE-WRITE-DATE that can sometimes signal FILE-ERRORs.

* Add tests for every supported way of calling LOAD.

16 years ago1.0.12.35: more safety -- less weakening of type checks
Nikodemus Siivola [Mon, 17 Dec 2007 13:34:26 +0000 (17 13:34 +0000)]
1.0.12.35: more safety -- less weakening of type checks

 * Weaken type check only if SAFETY < 2, and SAFETY < SPEED.  Thus
   SAFETY 2 becomes a "always full type checks".

 * Delete a stale comment above MAYBE-NEGATE-CHECK about weakening
   checks there -- this has not been the case since 0.7.9.41.

 * Fix type errors in target-sxhash.lisp that was masked by the
   weakening that used happen there.

 * Update commentary re. PROBABLE-TYPE-CHECK-P as per Alexey's email
   on sbcl-devel. Delete some other stale comments re. weakening.

 * Update the manual re. weakened type checks.

16 years ago1.0.12.34: fix bug, add error signalling in RUN-PROGRAM
Richard M Kreuter [Sun, 16 Dec 2007 00:23:59 +0000 (16 00:23 +0000)]
1.0.12.34: fix bug, add error signalling in RUN-PROGRAM

* Incorrect initialization of one bookkeeping variable in
  COPY-DESCRIPTOR-TO-STREAM left another bookkeeping variable with
  garbage after a properly-encoded short read, causing subsequent
  decoding attempts to fail.  Only easily visible on when the child
  line buffers to one or another descriptor.

* Add test for same.

* Additionally, signal an error if we have any not-yet-decoded octets
  when the child closes its output or error.

* Add test for same.

16 years ago1.0.12.33: Have foreign.test.sh create .so files under the test directory
Richard M Kreuter [Fri, 14 Dec 2007 06:12:57 +0000 (14 06:12 +0000)]
1.0.12.33: Have foreign.test.sh create .so files under the test directory

* If /tmp or TMPDIR is mounted noexec, loading foreign objects doesn't
  fails, but it's not SBCL's fault.

* Also remember to bump version.lisp-expr (the last two commits forgot
  this).

16 years ago1.0.12.32: Fix RUN-PROGRAM bug introduced in 1.0.12.31.
Richard M Kreuter [Thu, 13 Dec 2007 20:55:49 +0000 (13 20:55 +0000)]
1.0.12.32: Fix RUN-PROGRAM bug introduced in 1.0.12.31.

* An unnecessary comparison of external formats made some pathways
  through RUN-PROGRAM hang.  Oddly, this hanging didn't show up when
  running the tests on linux/x86-64, linux/ppc, or netbsd/x86.

16 years ago1.0.12.31: fix READ-SEQUENCE regression from 1.0.12.22
Nikodemus Siivola [Thu, 13 Dec 2007 20:15:32 +0000 (13 20:15 +0000)]
1.0.12.31: fix READ-SEQUENCE regression from 1.0.12.22

  * Keep track of FRC buffer index properly.

  * Test-case.

16 years ago1.0.12.31: using default external format for RUN-PROGRAM streams
Richard M Kreuter [Thu, 13 Dec 2007 05:24:28 +0000 (13 05:24 +0000)]
1.0.12.31: using default external format for RUN-PROGRAM streams

* Have RUN-PROGRAM construct streams with the default external format
  when :INPUT, :OUTPUT, or :ERROR is :STREAM, or to transcode data
  to/from the child process when any of those arguments is a Lisp
  stream.

* Miscellaneous attendant helper functions for same (mkstemp, chmod).

16 years ago1.0.12.30: trivial compiler touchups
Nikodemus Siivola [Wed, 12 Dec 2007 12:19:42 +0000 (12 12:19 +0000)]
1.0.12.30: trivial compiler touchups

  * Use &BODY for DEFINE-VOP bodies instead of &REST.

  * Expand body of DO-USES only once, as per XXX note. Only 56 to
    go... Also make it return the RESULT form if there was just a
    single use -- not that we seem to be using the RESULT form at all
    currently.

16 years ago1.0.12.29: optimize POSITION & FIND families for strings
Nikodemus Siivola [Wed, 12 Dec 2007 11:58:03 +0000 (12 11:58 +0000)]
1.0.12.29: optimize POSITION & FIND families for strings

  * If the string is simple, and the element type is know the old code
    does well already. Add a dispatch for (SIMPLE-ARRAY CHARACTER (*))
    to the out-of-line versions on unicode builds.

  * To keep code size down to something reasonable, remove the
    dispatch for SIMPLE-VECTOR: presumably POSITION & FIND are much
    more common on strings of uncertain type, then random vectors.

16 years ago1.0.12.28: small PCL cache cleanups
Nikodemus Siivola [Wed, 12 Dec 2007 11:28:23 +0000 (12 11:28 +0000)]
1.0.12.28: small PCL cache cleanups

  * Delete a few unused variables.

  * Add a few declarations to speed up PROBE-CACHE (used by the PV
    optimizations.)

16 years ago1.0.12.27: FILL on lists was broken by 1.0.12.16, oops!
Nikodemus Siivola [Wed, 12 Dec 2007 11:22:37 +0000 (12 11:22 +0000)]
1.0.12.27: FILL on lists was broken by 1.0.12.16, oops!

  * Fix it, write some tests as penance.

16 years ago1.0.12.26: Fix minor regression in win32 native-namestringification
kreuter [Mon, 10 Dec 2007 22:16:47 +0000 (10 22:16 +0000)]
1.0.12.26: Fix minor regression in win32 native-namestringification

src/code/win32-pathname.lisp: some Windows system calls don't accept
                              directory names ending with backslashes.

16 years ago1.0.12.25: fix some bogus indentation
Juho Snellman [Mon, 10 Dec 2007 05:46:00 +0000 (10 05:46 +0000)]
1.0.12.25: fix some bogus indentation

16 years ago1.0.12.24: Add dx declarations for character comparison function &rest lists
Juho Snellman [Mon, 10 Dec 2007 05:42:46 +0000 (10 05:42 +0000)]
1.0.12.24: Add dx declarations for character comparison function &rest lists

       * CHAR=, CHAR<, etc.

16 years ago1.0.12.23: Optimize STRING-*-TRIM
Juho Snellman [Mon, 10 Dec 2007 05:35:10 +0000 (10 05:35 +0000)]
1.0.12.23: Optimize STRING-*-TRIM

       * Add deftransforms for STRING(-LEFT|-RIGHT|)-TRIM of simple strings.
         As a sleazy benchmark trick, also optimize for constant character bags.
       * Rewrite the function versions of the string trimmers for more
         code reuse. New versions also no longer cons up a new string when
         no trimming needs to be done. (Allowed in the spec, as pointed out
         by Attila Lendvai)
       * Add tests.

16 years ago1.0.12.22: Optimize READ-SEQUENCE into strings and READ-LINE
Juho Snellman [Mon, 10 Dec 2007 04:40:34 +0000 (10 04:40 +0000)]
1.0.12.22: Optimize READ-SEQUENCE into strings and READ-LINE

       * Have READ-LINE and READ-SEQUENCE directly use the cin buffer whenever
         one exists, instead of going through FAST-READ-CHAR. READ-LINE already
         did this in some circumstances, but often .
       * READ-LINE on normal data with short lines is around 50% faster, with
         abnormally long lines about 75% faster. (On my laptop -- IIRC the
         difference was smaller on a workstation).
       * READ-SEQUENCE into a simple string is up to 80% faster.
       * Modify FAST-READ-CHAR-REFILL a bit to make it nicer to use in the
         non-read-char cases.
       * Fix a utf-8 resyncing bug in READ-LINE (masked by the test case
         in external-format.impure not having a newline at the end, which
         caused READ-LINE to always take the slow path).

16 years ago1.0.12.21: using default external format for RUN-PROGRAM args and env
Nikodemus Siivola [Sun, 9 Dec 2007 18:11:51 +0000 (9 18:11 +0000)]
1.0.12.21: using default external format for RUN-PROGRAM args and env

* Patch by Harald Hanche-Olsen: use STRING-TO-OCTETS to build the
  vector of string pointers. Also allows non-simple strings.

16 years ago1.0.12.20: compiling files with unicode names
Nikodemus Siivola [Sun, 9 Dec 2007 15:19:21 +0000 (9 15:19 +0000)]
1.0.12.20: compiling files with unicode names

* Patch by Attile Lendvai: UTF-8 encode the original filename for
  writing it ot the fasl.

16 years ago1.0.12.19: runtime cleanups by Daniel Lowe
Nikodemus Siivola [Sun, 9 Dec 2007 15:04:48 +0000 (9 15:04 +0000)]
1.0.12.19: runtime cleanups by Daniel Lowe

* Rename SymbolFunction to StaticSymbolFunction, and implement it as
  an inline function instead of a macro.

* Implement make_lispobj, make_fixnum, and fixnum_value as inline
  functions.

16 years ago1.0.12.18: faster member-type operations
Nikodemus Siivola [Sun, 9 Dec 2007 14:37:22 +0000 (9 14:37 +0000)]
1.0.12.18: faster member-type operations

* XSET is a generic set implementation, that uses lists of small sets,
  and switches to hashes for larger ones. Current switchoff point is
  12 -- but some operations would benefit from a larger one. TODO:
  There are other places in SBCL that will probably want to use XSET
  as well.

* Instead of storing members directly in the set object, store them in
  an XSET -- except for floating point zeros which go into a list of
  their own, simplifying the canonicalization a bit. (By adding
  complexity elsewhere, of course. Maybe this is not TRT after all...)

* ...now member type arithmetic is mostly O(1) or O(N), instead of
  O(BAD), but some operations cons more then before: old implemenation
  manageg eg. union without consing when either set was the subset of
  the other one -- not so anymore.

16 years agoAesthetic tweaks
D Herring [Fri, 7 Dec 2007 05:43:10 +0000 (7 00:43 -0500)]
Aesthetic tweaks

- whitespace
- version

16 years agoApplied the SB-SIMD patch
D Herring [Fri, 7 Dec 2007 05:20:47 +0000 (7 00:20 -0500)]
Applied the SB-SIMD patch

Basically equivalent to
> cvs -z3 -d :pserver:anonymous@common-lisp.net:/project/sb-simd/cvsroot co sb-simd
> cd sb-simd
> cvs up -r 1.2 sbcl-src/patch_against_sbcl_0_9_3
> cd /path/to/sbcl
> patch -p0 < /path/to/sb-simd/sbcl-src/patch_against_sbcl_0_9_3

16 years ago1.0.12.17: Gray streams as part of composite streams
Nikodemus Siivola [Wed, 5 Dec 2007 17:23:25 +0000 (5 17:23 +0000)]
1.0.12.17: Gray streams as part of composite streams

* READ-N-BYTES needs to deal with Gray streams.

16 years ago1.0.12.16: sequence optimizations: FILL
Nikodemus Siivola [Wed, 5 Dec 2007 15:16:02 +0000 (5 15:16 +0000)]
1.0.12.16: sequence optimizations: FILL

* Use DEFUN instead of DEFINE-SEQUENCE-TRAVERSER for FILL: the
  dispatched to functions do all the necessary checking, and do it
  better since they know more about the types.

* New function: STRING-FILL*.

* Rewrite VECTOR-FILL* and LIST-FILL* for efficiency.

* Macros VECTOR-FILL and LIST-FILL were expanded only in VECTOR-FILL*
  and LIST-FILL* -- get rid of them.

* Compile-time dispatch to STRING-FILL*, VECTOR-FILL*, LIST-FILL*, and
  SB-SEQUENCE:FILL.

* Comment above %CHECK-VECTOR-SEQUENC-BOUNDS no longer applies, delete
  it.

16 years ago1.0.12.15: PPC/Darwin fixes
Brian Mastenbrook [Sun, 2 Dec 2007 17:00:14 +0000 (2 17:00 +0000)]
1.0.12.15: PPC/Darwin fixes
   * Build fix on Leopard (10.5) thanks to Sidney Markowitz
   * Finally remove obsolete G5 sigcontext fix as 10.2 is totally old

16 years ago1.0.12.14: sequence optimizations: COPY-SEQ
Nikodemus Siivola [Sat, 1 Dec 2007 18:57:57 +0000 (1 18:57 +0000)]
1.0.12.14: sequence optimizations: COPY-SEQ

* Compile-time dispatch to STRING-SUBSEQ*, VECTOR-SUBSEQ*,
  LIST-COPY-SEQ*, and SB-SEQUENCE:COPY-SEQ.

* Share code between COPY-LIST and LIST-COPY-SEQ* via light macrology.

* COPY-SEQ on lists should check for improper lists.

16 years ago1.0.12.13: sequence optimizations: SUBSEQ, part 3
Nikodemus Siivola [Sat, 1 Dec 2007 18:35:33 +0000 (1 18:35 +0000)]
1.0.12.13: sequence optimizations: SUBSEQ, part 3

* Split the optimized data-vector accessor fetching logic into a
  global macro, so that sequence functions can fetch the appropriate
  setter/getter just once, instead of doing the dispatch per access.

* Use this to optimize VECTOR-SUBSEQ*.

16 years ago1.0.12.12: sequence optimizations: SUBSEQ, part 2
Nikodemus Siivola [Sat, 1 Dec 2007 18:06:11 +0000 (1 18:06 +0000)]
1.0.12.12: sequence optimizations: SUBSEQ, part 2

* New function: STRING-SUBSEQ*, and a compile-time dispatch to it with
  the element-type or simplicity is uncertain.

* Slightly better VECTOR-SUBSEQ*.

16 years ago1.0.12.11: WITH-ARRAY-DATA bugfixes
Nikodemus Siivola [Sat, 1 Dec 2007 18:04:13 +0000 (1 18:04 +0000)]
1.0.12.11: WITH-ARRAY-DATA bugfixes

* Inverted bounds-checking test in WITH-ARRAY-DATA -- check bounds
  when INSERT-ARRAY-BOUNDS-CHECKS is _not_ zero, not the other way
  around. "Oops."

* Small optimization buglets TRANSFORM-%WITH-ARRAY-DATA/MUBLE: elided
  bounds checking, bad return value for END, and careless caller might
  pass in a complex arrey.

16 years ago1.0.12.10: sequence optimizations: SUBSEQ, part 1
Nikodemus Siivola [Sat, 1 Dec 2007 17:05:38 +0000 (1 17:05 +0000)]
1.0.12.10: sequence optimizations: SUBSEQ, part 1

* Compile-time dispatch to VECTOR-SUBSEQ* for vectors
  whose element-type or simplicity is uncertain.

* Compile-time dispatch to SB-SEQUENCE:SUBSEQ for generic
  sequences.

16 years ago1.0.12.9: don't limit TOUCH-OBJECT to descriptor-regs
Nikodemus Siivola [Fri, 30 Nov 2007 17:46:09 +0000 (30 17:46 +0000)]
1.0.12.9: don't limit TOUCH-OBJECT to descriptor-regs

* Allows objects known to be FIXNUM to be pinned. Question:
  why is a FIXNUM not acceptable to a DESCRIPTOR-REG?

16 years ago1.0.12.8: refactor bounding index error signalling functions
Nikodemus Siivola [Fri, 30 Nov 2007 14:18:31 +0000 (30 14:18 +0000)]
1.0.12.8: refactor bounding index error signalling functions

* We need two variants: one that uses ARRAY-TOTAL-SIZE for
  the limit, other othat uses LENGTH. Call them ARRAY- and
  SEQUENCE-BOUNDING-INDICES-BAD-ERROR.

16 years ago1.0.12.7: oops, missed one SEARCH transform
Nikodemus Siivola [Fri, 30 Nov 2007 13:12:21 +0000 (30 13:12 +0000)]
1.0.12.7: oops, missed one SEARCH transform

* Check bounds properly before entry to the code, and
  elide checks in the inner loop.