Switch branches/tags
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.

    	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 (-:
    antifuchs committed Sep 18, 2007
  2. Performance and stability improvement of threading on FreeBSD

    * 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.
    NIIMI Satoshi committed Sep 18, 2007
Commits on Sep 17, 2007
  1. Fix %report-reader-error

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

    	* 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.)
    William Harold Newman committed Sep 16, 2007
Commits on Sep 12, 2007
  1. Fix ash/smod61 on x86-64 for constant large shifts.

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

    	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.)
    csrhodes committed Sep 12, 2007
Commits on Sep 10, 2007
  1. allow pv-optimizations for typechecking (SETF SLOT-VALUE)

    * 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
    nikodemus committed Sep 10, 2007
  2. faster typechecking/optimized std-writer-method-functions

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

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

    * 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.
    nikodemus committed Sep 10, 2007
  5. trivial typo fixes

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

    * 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.
    nikodemus committed Sep 10, 2007
Commits on Sep 9, 2007
  1. O(1) weak pointer scavenging

    * 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.
    nikodemus committed Sep 9, 2007
  2. NetBSD 2.0 build fix (Aymeric Vincent sbcl-devel 2007-09-05)

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

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

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

    * 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.
    nikodemus committed Sep 8, 2007
  3. cleaner & thread-safe pv-table interning

    * 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.
    nikodemus committed Sep 8, 2007
  4. .PV-CELL., use .PV. directly

    * 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.)
    nikodemus committed Sep 8, 2007
  5. remove stale CALLS support

    * 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.
    nikodemus committed Sep 8, 2007
  6. Fix test on unthreaded config.

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

    * 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.
    nikodemus committed Sep 7, 2007
Commits on Sep 6, 2007
  1. thread stack memory leaks

    * 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.)
    nikodemus committed Sep 6, 2007
Commits on Sep 5, 2007
  1. Match the correct atomicity bit.

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

    	At that place, the header tag is written, and we have nothing
    	like closure-header-slot.
    Thiemo Seufer committed Sep 5, 2007
  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