Permalink
Commits on Oct 25, 2009
Commits on Oct 8, 2009
Commits on Oct 7, 2009
  1. 1.0.31.31: SATISFIES cannot refer to local functions

     * Fix misoptimization: use SB-C::GLOBAL-FUNCTION instead of
       CL:FUNCTION. (Reported by Stanislaw Halik)
    
     * Also fix a typo in the COMPARE-AND-SWAP docstring. (Thanks to Larry
       Valkama.)
    nikodemus committed Oct 7, 2009
  2. 1.0.31.30: fix IF docstring

      https://bugs.launchpad.net/sbcl/+bug/439264
    
      ...good thing no-one trusts a docstring, eh. A bug report to the
      effect "IF is broken, executes THEN when condition true" would have
      been mortifying...
    nikodemus committed Oct 7, 2009
Commits on Oct 4, 2009
  1. 1.0.31.29: Fix x86-64/FreeBSD/thread build

             * Remove a forwards incompatible FreeBSD 5 kludge (patch by Hiroyuki
               Komatsu)
    jsnell committed Oct 4, 2009
Commits on Oct 3, 2009
  1. 1.0.31.27: RUN-PROGRAM process group change

            * Have RUN-PROGRAM with :INPUT T only run the subprocess in a
              new process group if it doesn't need to share stdin with the
              sbcl process. (patch by Leslie Polzer)
    jsnell committed Oct 3, 2009
Commits on Sep 29, 2009
  1. 1.0.31.26: improved DATA-VECTOR-{REF,SET} on x86-64

    Use the low registers directly rather than going through RAX.
    Nathan Froyd committed Sep 29, 2009
  2. 1.0.31.25: fix thinko in ECHO-N-BIN

    I happened to look at some STYLE-WARNINGs in octets.lisp and found this
    gem.  Sometimes it's nice having a chatty compiler...
    Nathan Froyd committed Sep 29, 2009
  3. 1.0.31.24: add BSWAP instruction for x86

    Kinda weird, lifting code for x86 from x86-64...
    Nathan Froyd committed Sep 29, 2009
  4. 1.0.31.23: OAOOize external-format support

    fd-streams and octets support independently kept records of
    external-format->function maps, suitable for the purposes of each.  This
    revision stores all the relevant information for an external format in a
    single place--a new EXTERNAL-FORMAT structure--and has both clients
    reference things in that single place.
    
    Doing so offers opportunities for other cleanups and speedups.
    fd-streams external-format storage was an alist of lists, which was bad
    for client code, since everything referred to fields with NTH or
    SECOND/FOURTH/FIFTH.  A proper DEFSTRUCT helps here and should be
    slightly more space-efficient, as we're replacing a list with
    (effectively) a vector.  Also, since clients had to scan through an
    alist to find an external-format, this design was hurting performance in
    streams code, most notably OPEN.  Replacing the alist with a hash table
    (which the octets code was already using) should make things a lot
    snappier.
    Nathan Froyd committed Sep 29, 2009
Commits on Sep 27, 2009
  1. 1.0.31.22: improved SAP-{REF,SET}-* for x86-64

    - Don't go through RAX in reffers; zero- or sign-extend the memory
      referenced into the result register directly.  Specialized array
      references already do this.
    
    - Don't go through RAX in setters; use the appropriately-sized low part
      of the value register directly.
    Nathan Froyd committed Sep 27, 2009
Commits on Sep 26, 2009
  1. 1.0.31.21: OAOOize SAP-REF-64 and friends

    Move SAP-REF-64-related transforms to saptran.lisp, since there's no reason
    current and future 32-bit platforms should have to define these
    individually.
    Nathan Froyd committed Sep 26, 2009
  2. 1.0.31.20: smaller code for failing ECASE/ETYPECASE

    (ERROR 'CASE-FAILURE ...) generates a lot of code.  Commonize the code in
    a CASE-FAILURE function and have the macros call that function instead.
    This change results in fewer entries in the constant vector and smaller
    code since fewer arguments have to be loaded.  This makes the error case
    slightly slower, but that's not a problem.
    
    Shrinks core size by ~160K on x86-64.
    Nathan Froyd committed Sep 26, 2009
Commits on Sep 22, 2009
  1. 1.0.31.19: build x86-64 on OS X when available by default

     * For consistency with other platforms, build x86-64 by default on OS
       X when the OS and hardware support it.
     * ... also clean up some stragglers needing .cvsignore entries
    Brian Mastenbrook committed Sep 22, 2009
Commits on Sep 21, 2009
  1. 1.0.31.18: better SXHASH on pathnames

     Patch by Walter C. Pelissero, based on CMUCL code.
    
     Also fix stale LOGICAL-PATHNAME test, left out from 1.0.31.17.
    nikodemus committed Sep 21, 2009
Commits on Sep 18, 2009
  1. 1.0.31.17: LOGICAL-PATHNAME signals a TYPE-ERROR

     * LOGICAL-PATHNAME is specified to signal a TYPE-ERROR if pathspec is
       incorrect.
    nikodemus committed Sep 18, 2009
  2. 1.0.31.16: fix DELETE-FILE on logical pathnames

     (This is really the commit message for 1.0.31.15 -- which
     accidentally got the message from 1.0.31.14 again. Sorry.)
    
     Not real content in this commit.
    nikodemus committed Sep 18, 2009
  3. 1.0.31.14: removing :DEFAULT-INITARGS via DEFCLASS

     * If a DEFCLASS is executed without :DEFAULT-INITARGS,
       pass :DIRECT-DEFAULT-INITARGS NIL to ENSURE-CLASS.
    
       AMOP specifies defaulting direct default initargs for
       reinitialization using existing CLASS-DIRECT-DEFAULT-INITARGS, but
       there is no requirement for DEFCLASS to preserve them, and doing
       that seems quite undesirable -- though I cannot find a requirement
       from CLHS for removing them either.
    nikodemus committed Sep 18, 2009
  4. 1.0.31.14: removing :DEFAULT-INITARGS via DEFCLASS

     * If a DEFCLASS is executed without :DEFAULT-INITARGS,
       pass :DIRECT-DEFAULT-INITARGS NIL to ENSURE-CLASS.
    
       AMOP specifies defaulting direct default initargs for
       reinitialization using existing CLASS-DIRECT-DEFAULT-INITARGS, but
       there is no requirement for DEFCLASS to preserve them, and doing
       that seems quite undesirable -- though I cannot find a requirement
       from CLHS for removing them either.
    nikodemus committed Sep 18, 2009
Commits on Sep 17, 2009
  1. 1.0.31.13: working XREF for inlined lambda with hairy lambda-lists

     Reported by Peter Seibel.
    
     * When a function with a hairy lambda-list is converted, the
       functional we get back is an OPTIONAL-DISPATCH, which the XREF code
       never sees: we need to mark the entry-points as resulting from the
       inlining to have things work.
    
     * While at it, address a FIXME by annotating the CLAMBDAs with the
       original GLOBAL-VAR, so that we don't need to make guesses based on
       names.
    nikodemus committed Sep 17, 2009
Commits on Sep 16, 2009
  1. 1.0.31.12: use global lexicals for world-lock and finalizers

     *WORLD-LOCK* -> **WORLD-LOCK**.
    
     *FINALIZER-STORE* -> **FINALIZER-STORE**.
     *FINALIZER-STORE-LOCK* -> **FINALIZER-STORE-LOCK**.
    
     ...eating your own dogfood is good for you.
    nikodemus committed Sep 16, 2009
Commits on Sep 15, 2009
  1. 1.0.31.11: better handling of vector types in LOOP

     This is really 1.0.26.12 in a fixed form.
    
     * LOOP-DECLARE-VAR calls LOOP-TYPED-INIT iff there is no explicit
       initialization form, and when it does call it, the type is
       constructed from the result using TYPE-OF.
    
     * LOOP-TYPED-INIT knows how to construct zero-length vectors for all
       reasonable vector types (ones expressible with an ARRAY-TYPE.)
    
     * LOOP-MAKE-VAR informs LOOP-DECLARE-VAR about user-provided
       initialization.
    nikodemus committed Sep 15, 2009
  2. 1.0.31.10: run-sbcl.sh to support --core

     Thanks to Attila Lendvai.
    nikodemus committed Sep 15, 2009
  3. 1.0.31.9: some PCL micro-optimizations

     * Make *BOOT-STATE* a global variable and rename it **BOOT-STATE**.
    
     * Make various *S?-FOO-INDEX* variables constants, and rename them
       +S?-FOO-INDEX+.
    
     * Special love for SAFE-METHOD-FOO functions: store standard method
       class list in a global variable, use EQ for membership testing, and
       use STD-INSTANCE-SLOTS instead of GET-SLOTS (if the method has one
       of the standard classes, we know it is a standard instance.)
    
     Low-lying Nutrient Poor Fruit 'R Us.
    nikodemus committed Sep 15, 2009
Commits on Sep 14, 2009
  1. 1.0.31.8: specialized out-of-line CONCATENATE for strings

      https://bugs.launchpad.net/sbcl/+bug/417229
    
      CONCATENATE 'STRING was already decent when SPEED > SPACE thanks to
      open coding by the deftransform.
    
      Deal with low-speed policies by adding %CONCATENATE-TO-STRING and
      %CONCATENATE-TO-BASE-STRING and transforming to them when
      appropriate.
    nikodemus committed Sep 14, 2009
Commits on Sep 13, 2009
  1. 1.0.31.7: transform %FIND-POSITION for strings

     * Based on patch by Karol Swietlicki.
    
       https://bugs.launchpad.net/sbcl/+bug/410122
    nikodemus committed Sep 13, 2009
Commits on Sep 12, 2009
Commits on Sep 11, 2009
  1. 1.0.31.5: WITH-SLOTS on THE forms

     Thanks to David Tolpin.
    nikodemus committed Sep 11, 2009
  2. 1.0.31.4: misuse of ABORT-IR1-TRANSFORM

     Should have been GIVE-UP-IR1-TRANSFORM.
    nikodemus committed Sep 11, 2009
  3. 1.0.31.3: fix saving runtime options from executable cores

      Runtime options used to be clobbered from the executable core even
      if there were none saved there.
    
      Patch by Zach Beane.
    
      Fixes https://bugs.launchpad.net/sbcl/+bug/411925
    nikodemus committed Sep 11, 2009
Commits on Aug 31, 2009
  1. 1.0.31.2: snow leopard (macos 10.6) build fixes

     * on x86/darwin use -arch i386 flags in sb-grovel C compilation
    
     * comment out failing sb-posix tests
    
     * add -arch i386 flags to Config.x86-darwin CFLAGS and LINKFLAGS
    
     * remove #include <ucontext.h> instances
    Cyrus Harmon committed Aug 31, 2009
Commits on Aug 27, 2009
Commits on Aug 26, 2009
  1. 1.0.30.54: Fix a cross-compiler leak in specialized %unary-truncate

    Don't use host values of most-fooative fixnum.  (Also expand on the
    comment about using an exclusive test for floats within the fixnum
    range)
    csrhodes committed Aug 26, 2009