Commits on Sep 25, 2007
  1. 1.0.10: release, will be tagged as sbcl_1_0_10

    William Harold Newman committed Sep 25, 2007
Commits on Sep 19, 2007
Commits on Sep 18, 2007
  1. Disallow (:not) in #+/#- expressions.

    antifuchs committed Sep 18, 2007
    	NOT in feature expressions is specified to accept exactly one argument.
    	The previous implementation of FEATUREP allowed zero or one argument,
    	so tighten that check.
    	Might need to fix CLRFI-1, as well (-:
  2. Performance and stability improvement of threading on FreeBSD

    NIIMI Satoshi committed Sep 18, 2007
    * Use GCC's Thread-Local Storage to store current thread.
      (Tested on Linux x86 and x86-64, too)
    * Restore lisp level TLS segment register at interrupt handler.
Commits on Sep 17, 2007
  1. Fix %report-reader-error

    csrhodes committed Sep 17, 2007
    	It was missing an apply (or, equivalently, a ~?) for printing
    	the simple-condition part of the error.
Commits on Sep 16, 2007
  1. partial fix for bug in STREAM-ERROR :REPORT

    William Harold Newman committed Sep 16, 2007
    	* added a new (partially #+NILed out) test case for a bug in
    	  STREAM-ERROR :REPORT, where it expects STREAM-ERROR to have
    	  SIMPLE-CONDITION-like properties
    	* partial fix for bug in test case:
    	  ** Define SB-INT:SIMPLE-READER-ERROR which portably behaves
    	     the way that pre-ANSI code expected READER-ERROR to behave.
    	  ** Redo most internal references to READER-ERROR as references
    	* (This is only a partial fix because PARSE-ERROR and
    	  STREAM-ERROR still have similar issues.)
Commits on Sep 12, 2007
  1. Fix ash/smod61 on x86-64 for constant large shifts.

    csrhodes committed Sep 12, 2007
    	Thanks to Paul Khuong for the translation.
  2. Fix x86 smod30 ash with a constant large argument.

    csrhodes committed Sep 12, 2007
    	The usual thing: the VOP was written in the belief that the
    	compiler had already proved that the shift couldn't be
    	too large.
    	(Include test cases which should catch the analogous problem on
    	x86-64 as well as the problem just fixed.)
Commits on Sep 10, 2007
  1. allow pv-optimizations for typechecking (SETF SLOT-VALUE)

    nikodemus committed Sep 10, 2007
    * For each optimized access, store both the slot location and the
      typecheck function in the permutation vector. If the write is in
      safe code, use the typecheck function to validate the new value
      before using it.
    * Approximately ~5x as fast as SAFE-SET-SLOT-VALUE -- which is still
      needed in a few places as ACCESSOR-SET-SLOT-VALUE doesn't do type
  2. faster typechecking/optimized std-writer-method-functions

    nikodemus committed Sep 10, 2007
    * Fetch the type-check-fun from wrapper-slot-table, not
      from the slot-definition.
  3. trivial src/pcl/vector.lisp cleanup

    nikodemus committed Sep 10, 2007
    * There hasn't been a :DEFAULT kind in permutation vector code
      for ages -- delete the code that handled it.
  4. clean up old pv updating code

    nikodemus committed Sep 10, 2007
    * Since the vectors that are updated are referred to by stale
      wrappers, this seems to be quite useless: if an instance has an
      invalid wrapper it will still have the old layout as well.
  5. trivial typo fixes

    William Harold Newman committed Sep 10, 2007
    	(I had batched these up as a "git baby steps" commit, but now
    	that's been delayed...)
  6. copy propagation interfering with local calls

    nikodemus committed Sep 10, 2007
    * Don't allow copy propagation to a local call argument, thus
      preserving parallel assignment semantics -- to judge by the comment
      above OK-COPY-REF, this is what it was ment to do in the first
      place. Reported by Paul Khuong on sbcl-devel.

    nikodemus committed Sep 10, 2007
    * Based on work done by Larry D'Anna.
    * Rewire VARIABLE-INFORMATION in a similar manner. Add a FIXME
      note about lexically apparent special bindings, and document
      the current state of affairs. Improve the documentation string.
    * Tests, and more tests for VARIABLE-INFORMATION as well.
Commits on Sep 9, 2007
  1. O(1) weak pointer scavenging

    nikodemus committed Sep 9, 2007
    * Use self-pointer instead of NULL to mark the end of scavenged weak
      pointer list in GC, which allows identifying unscavenged pointers
      by the NULL next pointers.
    * Scavenging a single weak pointer in gencgc is now an O(1) operation
      instead of O(#scanned pointers so far).
    Thanks to Paul Khuong.
  2. NetBSD 2.0 build fix (Aymeric Vincent sbcl-devel 2007-09-05)

    csrhodes committed Sep 9, 2007
    	No ptsname() and friends on NetBSD.
  3. texi2pdf rework (Aymeric Vincent sbcl-devel 2007-09-05)

    csrhodes committed Sep 9, 2007
    	It looks likely that texi2dvi is more ubiquitous than texi2pdf,
    	so just apply the patch.
    	... (plus whitespace and .cvsignore collateral changes).
Commits on Sep 8, 2007

    nikodemus committed Sep 8, 2007
    * Renamed CHECK-OBSOLETE-INSTANCE/WRAPPER-OF, and fixed the semantics
      so that it always returns the fresh wrapper.
  2. take pv-slot value from wrapper-slot-table

    nikodemus committed Sep 8, 2007
    * Use NIL instead of T in the CAR of the SLOT-TABLE cells to indicate
      "slot location not saved for some reason".
    * Better slot location computation for SLOT-TABLES: remaining wrapper
      copies now also copy the slot-table, and bootstrapping computes the
      slot locations for rest of the interesting cases.
    * Use SLOT-TABLE to obtain the slot location for permutation vectors
      Faster, and slowly point the way to getting rid of WRAPPER/LAYOUT
    * We deal with slot names in permutation vectors: remove the unused
      code that computed things for non-slot-name places in them.
  3. cleaner & thread-safe pv-table interning

    nikodemus committed Sep 8, 2007
    * Rename the global interning tables and comment on
      their purpose for easier understanding.
    * Simplify by-slot indexing: PV-OFFSETS are not needed in the global
    * Lock around hash-table accesses.
  4. .PV-CELL., use .PV. directly

    nikodemus committed Sep 8, 2007
    * Now that .CALLS. are gone we can get rid of the extra indirection.
      (Maybe we have to add it back later, but worry about that then.)
    * Since .PV. is magical, also localize its bindings to vector.lisp,
      instead of exposing the variable in PV-BINDING1's interface (which
      is used elsewhere as well.)
  5. remove stale CALLS support

    nikodemus committed Sep 8, 2007
    * Permutation vector code contained infrastructure for optimizing
      GF calls inside method bodies in a similar manner as slot accesses
      are optimized, but this support was never finished.
      While it would be nice to have it, right now clarity of the code
      seems like a higher priority -- it seems to be simple enough to
      reinstate when we want, and the end result is liable to be easier to
    * Add a big FIXME with a short explanation of the optimization and
      a pointer to this commit.
  6. Fix test on unthreaded config.

    NIIMI Satoshi committed Sep 8, 2007
Commits on Sep 7, 2007
  1. fix 64 bit build

    nikodemus committed Sep 7, 2007
    * Need to cast (BACKEND_PAGE_SIZE-1) to an unsigned long before bit
      flipping, otherwise we're potentially cutting the high bits off the
      allocation address.
Commits on Sep 6, 2007
  1. thread stack memory leaks

    nikodemus committed Sep 6, 2007
    * Since we pad & align the per-thread areas after
      allocation -- but we need to still pass the original address
      and size to os_invalidate(), or else we leak.
    * Also refactor the freeable_thread_stack stuff slightly for
      less OAOOM.
    * Whitespace in tests.

    nikodemus committed Sep 6, 2007
    * Threaded cas tests. (threads.impure.lisp currently broken for
      unrelated reasons since .30 or so.)
Commits on Sep 5, 2007
  1. Match the correct atomicity bit.

    Thiemo Seufer committed Sep 5, 2007
    	The wonders of copy & paste ...
  2. Delete wrong comment.

    Thiemo Seufer committed Sep 5, 2007
    	At that place, the header tag is written, and we have nothing
    	like closure-header-slot.
  3. Change SIGINFO to the more common SIGPWR, and fix its docum…

    Thiemo Seufer committed Sep 5, 2007
  4. Remove accidentially committed debug code.

    Thiemo Seufer committed Sep 5, 2007
  5. Fix broken syntax.

    Thiemo Seufer committed Sep 5, 2007