Commits on Aug 27, 2007
  1. 1.0.9: release, will be tagged as sbcl_1_0_9

    William Harold Newman committed Aug 27, 2007
Commits on Aug 26, 2007
  1. Update comment.

    Thiemo Seufer committed Aug 26, 2007
  2. Declare alien input parameters as such.

    Thiemo Seufer committed Aug 26, 2007
Commits on Aug 21, 2007
  1. attempt to answer the "executables" FAQ in the manual

    rudi committed Aug 21, 2007
    * The information was there, but hidden in the second part of a
      somewhat-related paragraph in a generic section.
    * Including "Executables" in the first page of the table of contents
      should make the function easier to find, one hopes...
  2. Fix sb-sprof on non-x86oids

    jsnell committed Aug 21, 2007
             * Patch by Pierre Mai
  3. Fix EQUALP on structures with raw slots

    jsnell committed Aug 21, 2007
             * Old version was basically accessing raw slots with %INSTANCE-REF,
               and doing EQUALP on the results. This was most obviously wrong
               for raw slots that were larger than a word (double-floats on 32-bit
               platforms). Less obviously this is also wrong for some float
               corner-cases, like negative zeroes.
             * Add RAW-INSTANCE-SLOTS-EQUALP which instead grovels the layout for
               the slot definitions and determines the proper accessor functions
               for each slot from that.
             * Reported by Vjacheslav Fyodorov.
  4. Fix GCD on most-negative-fixnum on x86-64

    jsnell committed Aug 21, 2007
             * Bogus type declarations.
             * Reported by Gregory Vanuxem on sbcl-devel.
Commits on Aug 20, 2007
  1. Fix some source-location bugs, alternate sb-cover annotatio…

    jsnell committed Aug 20, 2007
    …n mode
             * Bug introduced in the code coverage commit caused sldb-show-source
               to highlight the wrong forms in many cases.
             * Changes in caused branch forms to be not annotated as
               such in sb-cover.
             * Add a new annotation mode to sb-cover, which basically uses
               the source location information of the car of the form instead
               of using the information for the form itself. This mode shows
               explicitly which forms have been instrumented. According to
               a #lisp poll, the old version looks nicer, so it's been retained
               as the default.
  2. doc spelling fixes.

    rudi committed Aug 20, 2007
  3. Mark remaining MIPS test failures as known.

    Thiemo Seufer committed Aug 20, 2007
Commits on Aug 19, 2007
  1. Add missing quote sign.

    Thiemo Seufer committed Aug 19, 2007
  2. Improve MIPS (and HPPA) floating pooint support.

    Thiemo Seufer committed Aug 19, 2007
      - For MIPS/HPPA, the NaN signalling bit's meaning is inverted.
      - Delete the corresponding VOPs.
      - Document the MIPS special "unimplemented" floating point trap.
      - Add handling of the floating point control word in C signal handlers.
      - Mark NAN-COMPARISIONS as expected failure on MIPS. (It still doesn't
        work due to a kernel bug, siginfo_t's si_code field doesn't get
        updated properly.)
  3. Fix MIPS foreign_function_call_active handling.

    Thiemo Seufer committed Aug 19, 2007
  4. Fix MIPS spinlock implementation.

    Thiemo Seufer committed Aug 19, 2007
Commits on Aug 18, 2007
  1. sample sbcl-export alias in Git for SBCL Hackers

    nikodemus committed Aug 18, 2007
    * Forgot to save the file, so missed from the last commit...
  2. improved Git for SBCL Hackers in a few places

    nikodemus committed Aug 18, 2007
    * Grammar and typos.
    * Remove references to version.lisp-expr now that we have
    * Better explanation of history cleaning (mostly for the benefit of
      non-committer hackers, shades of "How to Contribute".
    * Alias for easy git-cvsexportcommit usage.
    * Mention git-format-patch.
    * Add link to Git User Manual.
  3. add missing Git for SBCL Hackers guide

    nikodemus committed Aug 18, 2007
    * Accidentally left out from
  4. better standard-instance accessors

    nikodemus committed Aug 18, 2007
    * Add SETF functions for STANDARD-INSTANCE-ACCESS and
    * Declare them and the readers inline.
      Thanks to Attila Lendvai.
  5. better printing of anonymous objects

    nikodemus committed Aug 18, 2007
    * In PCL, the NAMED-OBJECT-PRINT-FUNCTION prints the identity of the
      object when it has no name. Among other things, it affects the
      printing of anonymous classes.
      Thanks to Attila Lendvai.
  6. split REAL-MAKE-METHOD-LAMBDA back into two parts

    nikodemus committed Aug 18, 2007
    * Turns out my earlier merging of REAL-MAKE-METHOD-LAMBDA
      and MAKE-METHOD-LAMBDA-INTERNAL was ill adviced: the split
      is good to have so that redefining the latter in the
      final image actually changes the behaviour of the system.
    * Add an explanatory comment.
Commits on Aug 14, 2007
  1. Improve error handling for (DESTRUCTURING-BIND (...) 'NOTLI…

    William Harold Newman committed Aug 14, 2007
    …ST ...).
  2. More MIPS singlestepper fixes.

    Thiemo Seufer committed Aug 14, 2007
Commits on Aug 13, 2007
  1. refactor CAN-OPTIMIZE-ACCESS usage and interface

    nikodemus committed Aug 13, 2007
    * Make the constant slot-name and the possible new-value-form
      additional return values.
    * Use CONSTANT-FORM-VALUE instead of EVAL to get the constant
      slot-name. Also use the environment correctly to CONSTANTP
    * Call CAN-OPTIMIZE-ACCESS in the various instance-access optimizers
      and not around calls to them, so that they can directly use the
      slot-name and new-value-form results from CAN-OPTIMIZE-ACCESS
      instead of having to recompute them.
  2. factor (THE TYPE FORM) => FORM transformations into a function

    nikodemus committed Aug 13, 2007
    * EXTRACT-THE, for now only used in PCL.

    nikodemus committed Aug 13, 2007
    * First is the only caller of the first, so just move
      the body to the call site.

    nikodemus committed Aug 13, 2007
    * First was the only caller of the latter -- just move the
      body to the call site.

    nikodemus committed Aug 13, 2007
    * The first was the only caller of the latter, so just make the
      body of the latter the body of the first.
  6. replace PVREF by SVREF

    nikodemus committed Aug 13, 2007
    * PVREF was a trivial wrapper macro around SVREF, and used in only
      src/pcl/vector.lisp. This is easier to read for me at least.
Commits on Aug 9, 2007
  1. :dont-safe finalizers and fd-stream thread safety issues

    nikodemus committed Aug 9, 2007
     * Add :DONT-SAVE keyword argument to FINALIZE, which causes the finalizer
       to be removed when core is saved: it is not amusing to have a finalizer
       that deallocates system memory to fire in a fresh image which happens
       to have freshly allocated memory in the same address. Also good for finalizers
       closing FDs.
       Use where appropiate.
     * Stream buffing should not use (INCF (BUFFER-FOO BUFFER) N), since if another
       thread has written to the buffer since we last looked at it this might take
       eg. the TAIL index beyond the end of the allocated memory area: by doing
       (let ((foo (buffer-foo buffer))) ... (setf (buffer-foo buffer) (+ foo n)) we might
       overwrite the data from another thread, but at least we won't trash memory.
     * Small graces: check that ALLOCATE-SYSTEM-MEMORY actually succeeds, don't accept
       finalizers for NIL (they would just run immediately on next GC, which is almost
       certainly not intended), take an extra mile to ensure old buffers from before
       SAVE-LISP-AND-DIE don't survive to the new image.
Commits on Aug 7, 2007
  1. Fix gc-safety bug in x86oid function calls

    jsnell committed Aug 7, 2007
             * Off by one error in conservative stack scavenging, the top of the
               stack wasn't pinned.
             * In the new calling convention there is a small window during which
               the return address only exists on the top of the stack. If a gc
               was triggered during that window, the code object could move, and
               the return address would point to freed memory.
Commits on Aug 6, 2007
  1. really increment the fasl version

    nikodemus committed Aug 6, 2007
     (file left out from previous commit)
  2. refactored fd-stream buffering

    nikodemus committed Aug 6, 2007
     Thanks to David Smith and Andreas Bogkt who diagnosed the memory
     leaks this patch fixes.
     * Instead of having FD-STREAM objects directly hold onto input and
       output buffer SAPs and head/tail indexes, use BUFFER objects which
       contain the SAP, size of the memory area, head/tail indexes, and
       are have finalizers to deallocate the system memory assosicated
       with the SAP. (This fixes system memory leaks when streams are not
       properly closed.)
     * Make CLOSE :ABORT release the output queue associated with the
       stream. (This was another memory leak in the old system: now
       the finalizers make not doing this safe, but it's still better
       to recycle the buffers.)
     * Slightly reduce lock contention by grabbing the *AVAILABLE-BUFFERS*
       lock only if there is something there right before the lock is
       taken, and by doing allocation outside the lock.
     * Rename and refactor FROB-OUTPUT and friends:
         BUFFER-OUTPUT is the main interface function, which always
           adds new output to the current buffer / output queue.
         WRITE-OR-BUFFER-OUTPUT tries to write immediately, falling
           back to buffering if writing is not possible.
         WRITE-OUTPUT-FROM-QUEUE is called by the SERVE-EVENT
           system to deal with output queue.
         FLUSH-OUTPUT-BUFFER writes the current buffer out if possible,
           queues it otherwise. Ensures that the output buffer of
           the stream is empty on return (and returns that buffer).
     * Deprecate SB-SYS:OUTPUT-RAW-BYTES. There doesn't seem to be any
       real reason to export this kind of stuff.
     * Increment the fasl version.
Commits on Aug 4, 2007
  1. making SBCL sources Git more friendly

    nikodemus committed Aug 4, 2007
     * Git for SBCL Hackers guide.
     * If branch-version.lisp-expr exists, it's value is concatenated
       after the contents of version.lisp-expr, separated out by ".".
       Doing this allows reduces spurious conflicts on branches: otherwise
       a branch announcing it's name in version.lisp-expr is going to
       conflict at every turn, which prevents automatic rebasing and
       merging from doing TRT.
     * Added .gitignore