Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tag: sbcl_1_0_16
Commits on Apr 13, 2008
  1. 1.0.16: release, will be tagged as sbcl_1_0_16

    William Harold Newman authored
Commits on Mar 27, 2008
  1. @nikodemus

    1.0.15.41: sod this, revert to the old & simple tar-using contrib ins…

    nikodemus authored
    …tallation
    
     * Windows has occasionally *.FASL files, so *.fasl is not robust. Copy
       all the files using tar, but keep the find + chown so that contribs
       are owned by the installer, not the builder.
Commits on Mar 26, 2008
  1. @nikodemus

    1.0.15.40: more portable contrib module installation

    nikodemus authored
     * Going in despite the freeze: earlier version depended on GNU tar,
       and broke install.sh on installations where tar was not GNU.
    
     * Patch by Eugene Ossintsev.
  2. 1.0.15.39: Remove subclasses of sb-posix:syscall-error

    Richard M Kreuter authored
    These were added in 1.0.14 (but never documented), and turn out to be
    impediments to some future progress on Windows.
Commits on Mar 25, 2008
  1. 1.0.15.38: One more fix for Win32 (oops)

    Richard M Kreuter authored
    * contrib/sb-posix/posix-tests.lisp: feature-out the fcntl tests on Win32.
  2. 1.0.15.37: Windows fixes.

    Richard M Kreuter authored
    * tools-for-build/grovel-headers.c: add a grovel for EINTR
    
    * contrib/sb-posix/constants.lisp: feature-out the ALIEN-FLOCK structure.
Commits on Mar 17, 2008
  1. @nikodemus

    1.0.15.36: fix bug 423

    nikodemus authored
     * TRULY-THE no longer eagerly annotates the LVAR, but rather acts
       like THE in unsafe code. (Inserts a cast for which no type-check is
       generated.)
    
     * ALLOC-NUMBER-STACK-SPACE and ALLOC-ALIEN-STACK-SPACE were missing
       :RESULT-TYPES, which was masked by the old TRULY-THE
       implementation. (Tested on x86, x86-64, PPC, but all backends
       updated -- hopefully correctly.)
    
     * Docstrings for THE and TRULY-THE.
    
     FWIW, this patch seems to make PPC+GENCGC build happy once again: but
     I don't know if that means the problems there were/are related to bug
     423 -- or if the exact memory layout just happens to change subtly so
     that whatever corruption occurs, just happens to occur in a place
     where the GC doesn't see it anymore. (Or if the exact point at which
     GC runs is now just slightly different so that the problem pointers
     are not live anymore, or...)
  2. @nikodemus

    1.0.15.35: fix bitrotted GC sanity checks

    nikodemus authored
     * One missing #ifdef.
    
     * Better lossage messages for for some cases.
Commits on Mar 14, 2008
  1. @nikodemus

    1.0.15.34: tweak the PCL cache improvement from 1.0.15.12

    nikodemus authored
     * Thanks to Paul Khuong for noting that we weren't actually dropping
       50% of the entries, but somewhat less. Now (assuming our RANDOM is
       good) we really should average 50%.
  2. @nikodemus

    1.0.15.33: implement SB-VM::WITH-CYCLE-COUNTER for x86 and x86-64

    nikodemus authored
     * For potential future exporting from SB-SYS.
    
     * Thanks to Paul Khuong and the CMUCL team.
  3. @nikodemus

    1.0.15.32: shinier SB-BSD-SOCKET:MAKE-INET-ADDRESS

    nikodemus authored
     * Check the input string for wellformedness, and construct a
       specialized vector.
  4. @nikodemus

    1.0.15.31: thread-safe FIND-CLASS -- really this time

    nikodemus authored
      Call It Myopia: it turns out FIND-CLASSOID &co underneath FIND-CLASS
      (when called for non-existent classes) were not thread-safe either.
    
      * Get rid of *FIND-CLASS* hash-table, moving the actual PCL classes into
        corresponding CLASSOID-CELL (new slot PCL-CLASS).
    
      * Move classoid-cells from the infodb into into *CLASSOID-CELLS*
        hash-table. We want to be able to lock around
    
          (or (get-cell) (setf (get-cell) (make-cell)))
    
        and infodb isn't really designed for that. This is the crux of
        the breakage:
    
         *** parallel writes to infodb are not thread safe! ***
    
      * Lock over *CLASSOID-CELLS* and *FORWARD-REFERENCED-LAYOUTS*. The
        latter should not be really necessary as long as we don't
        assume (SETF FIND-CLASS) to be thread-safe, but easier to reason
        about it this way. ...and it would be nice for the SETF to be safe
        as well.
    
      Related work:
    
      * Don't create cells for non-exitent classes unless we know we are
        going to need them -- previously both FIND-CLASSOID and FIND-CLASS
        created a cell for every name they were called with, which is
        isn't too good. This is especially important as once created these
        cells never go away!
Commits on Mar 13, 2008
  1. @nikodemus

    1.0.15.30: thread-safe FIND-CLASS

    nikodemus authored
      * Reported by Attila Lendvai.
    
      ...I could have sworn I did this already...
  2. @nikodemus
  3. @nikodemus

    1.0.15.28: SB-INTROSPECT: source-locations for objects

    nikodemus authored
     * FIND-DEFINITION-SOURCE returns the source-location of the class for
       standard-objects, conditions, and structure objects.
    
     * Patch by Tobias C. Rittweiler.
  4. @nikodemus

    1.0.15.27: nicer lambda-lists for GCD and LCM

    nikodemus authored
     * Patch by Tobias C. Rittweiler.
  5. @nikodemus

    1.0.15.26: only one return value from USER-HOMEDIR-PATHNAME

    nikodemus authored
     * USER-HOMEDIR-PATHNAME invokes PARSE-NATICE-NAMESTRING in a tailcall
       which returns the parsing offset as secondary value---although
       USER-HOMEDIR-PATHNAME is specified to only return on value; wrap it
       in an explicit (values ...) call.
    
       Patch by Tobias C. Rittweiler.
  6. @nikodemus

    1.0.15.25: fix ~R for vigtillions

    nikodemus authored
     * Off-by-one error in sb-format::format-print-cardinal-aux was
       preventing ~R from printing numbers between 10^63 and 10^66-1.
    
       Patch by Luis Oliveira.
  7. @nikodemus

    1.0.15.24: SB-BSD-SOCKETS: add :DONTWAIT option to SOCKET-RECEIVE

    nikodemus authored
     * For symmetry with SOCKET-SEND.
  8. @nikodemus

    1.0.15.23: typos and grammar

    nikodemus authored
     * Fix manpage typo: "inplements". Thanks to Eugene "Oversight"
       Ossintsev.
    
     * Fix PPRINT-INDENT docstring: s/is it is a/is a/. Thanks to Cyrus
       "Hawkeye" Harmon.
  9. @nikodemus

    1.0.15.22: slightly nicer contrib installation

    nikodemus authored
     * Install owned by the install.sh runner, not builder. Don't install
       CVS directories.
    
     * Thanks to Eugene Ossintsev.
  10. @nikodemus

    1.0.15.21: SB-BSD-SOCKETS:NAME-SERVICE-ERROR to inherit from ERROR

    nikodemus authored
     * Thanks to Stanislaw Halik.
Commits on Mar 12, 2008
  1. @nikodemus

    1.0.15.20: refactor "system locks" framework, one TIMER buglet

    nikodemus authored
     * Choose the degree of GC/interrupt suppression at compile-time.
    
     * Default is not to allow interrupts at all, callers which need
       WITH-INTERRUPTS to work can now specify :ALLOW-WITH-INTERRUPTS.
    
     * Should fix reported Stumpwm crashes due to attempts to recursively
       obtain *SCHEDULER-LOCK*. (Caused by SIGALRM interrupting GET-MUTEX
       inside the call to %TIMER-CANCEL-FUNCTION, which led to recursive
       entry to WITH-SCHEDULER-LOCK.)
    
     * Don't reschedule timers for dead threads.
    
     * Three new test-cases for timers, which (1) represent my failing
       attempts to trigger the Stumpwm bug described above (2) led to
       noticing the rescheduling promblem (3) fail horribly on OS X Tiger
       -- not sure if this is our or Darwin's problem...
Commits on Mar 10, 2008
  1. @nikodemus
  2. @nikodemus

    1.0.15.18: kill commented out ALLOCATION from x86-64

    nikodemus authored
     * 'twas a duplicate of ALLOCATION-TRAMP.
  3. @nikodemus

    1.0.15.17: better threaded BIND & UNBIND for x86-64

    nikodemus authored
     * x86-64 port of 1.0.15.7, plus some x86 cleanups:
    
       -- Rename ALLOCATE-TLS-INDEX-* to ALLOC-TLS-INDEX-* for more
          consistent asm routine names.
    
       -- Use (FIXNUMIZE 1) instead of magic number 4.
    
       Shrinks the threaded x86-64 core by ~200k bytes.
Commits on Mar 7, 2008
  1. @csrhodes

    1.0.15.16: New modular arithmetic representation decision

    csrhodes authored
    	Prefers any exactly-matching modular implementation, then tagged
    	if possible, then untagged.  Should make code of the form
              (logand xxx most-positive-fixnum)
    	more tolerable.
    
    	Also includes better lognot/fixnum implementation on all
    	platforms.
    
    Squashed commit of the following:
    
    commit 81776d9aab531db20711320ecea920453e058cef
    Author: Christophe Rhodes <csr21@cantab.net>
    Date:   Fri Mar 7 04:54:03 2008 -0700
    
        Fix lognot for fixnums on alpha.
    
    commit 27ce80579851bf9227d7d1121cf1554dc383049d
    Author: SBCL devs <sbcl-dev@aleph.math.ualberta.ca>
    Date:   Thu Mar 6 15:02:03 2008 -0700
    
        New modular arithmetic ported to alpha
    
        (as yet untested beyond make-genesis-2: lognot/fixnum is buggy)
    
    commit d6ae6339374983ae874d85f3c52103c77ccad222
    Author: Christophe Rhodes <csr21@localhost.localdomain>
    Date:   Fri Jan 11 17:38:19 2008 +0000
    
        New modular arithmetic ported to mips.
    
        Tested by Thiemo Seufer.
    
    commit 50e2e51d25bb3d3997e4b884b7a15f7ba1992391
    Author: Christophe Rhodes <csr21@localhost.localdomain>
    Date:   Fri Jan 11 17:37:41 2008 +0000
    
        Make find-modular-class get signed and unsigned the right way round.
    
        As it happened, this all worked by accident anyway, because the only
        other user of the *foo-modular-class* specials didn't rely on the
        separation between the classes, but instead used other data.  Hmm...
    
        (Noticed by Nikodemus Siivola)
    
    commit d3de3d27b212999672644d8a4fccfce9676dbf4f
    Author: Christophe Rhodes <csr21@zeus.jesus.cam.ac.uk>
    Date:   Tue Jan 1 14:25:33 2008 +0000
    
        New modular arithmetic ported to sparc.
    
        As with ppc, the signed modular arithmetic is not terribly useful, as
        only good functions have been implemented (so no +, -, * and ash)
    
    commit e99c204ab165139f4c8f8aacb59d4a825b90b7d1
    Author: Christophe Rhodes <mas01cr@gibbons.doc.gold.ac.uk>
    Date:   Mon Dec 31 18:15:41 2007 +0000
    
        Fix for fixnum LOGNOT on PPC
    
        Use subfic res, x, -4 rather than xori res, x, -4 -- xori's immediate
        argument is not sign-extended.
    
        (Thanks to Andy Hefner for the idea to use subfic rather than xori+xoris)
    
    commit db8ffb719750c8bc655519b03c2081cc3b8d0b2e
    Author: Christophe Rhodes <mas01cr@gibbons.doc.gold.ac.uk>
    Date:   Mon Dec 31 18:13:21 2007 +0000
    
        New modular arithmetic ported to ppc.
    
        Simple modifications only.  It remains for someone to add signed modular
        definitions of +, -, * and so on for this to become useful on ppc.
    
    commit 5c7562fc1e2a96a81d9bc32fb77ad70ed1794e6e
    Author: Christophe Rhodes <crhodes@gibbons.doc.gold.ac.uk>
    Date:   Mon Dec 31 10:12:26 2007 +0000
    
        New modular arithmetic choice for x86-64
    
        Simply adapt x86-64/arith.lisp by
    
        * removing logxor implementation (as it's now :good)
        * adapting %LEA implementation
    
    commit 39054fae6e5a2e55856a506ad497978adcbbd6c2
    Author: Christophe Rhodes <csr21@omega.localdomain>
    Date:   Sun Dec 30 21:50:16 2007 +0000
    
        Better fixnum LOGNOT implementations.
    
        Apparently inherited from cmucl, our fixnum and signed LOGNOT VOPs had
        generator costs that preferred the signed representation over the tagged.
        Fix this (on all backends; tested only on x86)
    
    commit 6eee19de7a49762ea2f3bbfe89d9ea1b0dcee47f
    Author: Christophe Rhodes <csr21@omega.localdomain>
    Date:   Sun Dec 30 21:29:39 2007 +0000
    
        Better signed modular arithmetic.
    
        All the LOGFOO functions are :good modular functions for signed
        modular arithmetic.
    
        LOGXOR is a :good modular function for untagged unsigned modular
        arithmetic.
    
    commit 32961ecb51bcfea655f985d1f774a8fc46bd155b
    Author: Christophe Rhodes <csr21@omega.localdomain>
    Date:   Sun Dec 30 19:30:57 2007 +0000
    
        Split untagged modular class into unsigned and signed variants.
    
        FIND-MODULAR-VERSION now takes both KIND and SIGNEDP arguments.
    
    commit e3b88693c3721cd84d9fb4a01d624d450c120cdd
    Author: Christophe Rhodes <csr21@omega.localdomain>
    Date:   Sun Dec 30 17:58:49 2007 +0000
    
        Choice of modular version, initial commit
    
        Commit of approximately September vintage work, x86-only.
Commits on Mar 5, 2008
  1. @nikodemus

    1.0.15.15: reset DF on x86 and x86-64 after every STD instead of when…

    nikodemus authored
    … calling out
    
     * Both the old and the new behaviour should be correct re C-ABI, but
       this is much easier to audit. Thanks to Aurelien Jarno for the
       initial patch.
    
     * This should also fix the build on platforms with GCC 4.3 compiled
       libc signal handling functions, which assume DF to be cleared.
    
       ** NOTE ** If kernel/libc does not arrange for DF to be cleared
       before calling our handler and restore it afterwards, we can still
       be broken by asynch signals on post 4.3 GCC libcs -- but this Is
       Not Our Fault, We Think.
    
     * Test-case suggested by Alistair Bridgewater for possible related
       default-unknown-values problems on SunOS.
  2. @nikodemus

    1.0.15.14: move bignum allocation out of line on x86-64 from MOVE-FRO…

    nikodemus authored
    …M-[UN]SIGNED
    
     * Essentially port of the work done for x86 earlier (1.0.13.10.)
       Shrinks the core by about 500k.
    
     * Change the high-bits test on x86 to be clearer about what happens
       (no magic numbers.)
    
     * Fixups cannot be called directly on x86-64, so make the CALL
       instruction barf on that instead of silently generating bogus code.
Commits on Mar 3, 2008
  1. @nikodemus

    1.0.15.13: more mnemonic lambda-lists for RPLACD and RPLACA

    nikodemus authored
     * CONS and X instead of X and Y. I admit, I use these so seldom that
       I have to check the docstring 9 times out of 10 as the lambda-list
       Slime used to show was of no help.
  2. @nikodemus

    1.0.15.12: better scaling in the PCL cache

    nikodemus authored
     * When the cache reaches its maximum size, and entries need to be
       dropped, drop a random 50% of them, instead of the more
       deterministic set "ones that don't fit": this avoids getting stuck
       in a "add A dropping B, add B dropping A, ..." cycle which eats up
       ginormous amounts of time. Additionally, dropping 50% seems to be
       the best ratio -- experimentally, at least -- but it would be nice
       to have a proper analysis...
    
       Note: there is a point (possibly even before our current maximum
       cache size) where the allowed probe-depth grows so large that a
       tree would work better then a table. It would be good to gracefully
       replace the table based cache with a tree when it grows so large.
  3. @nikodemus

    1.0.15.11: one more slice of ASSOC micro-optimization

    nikodemus authored
     * In %ASSOC and %ASSOC-EQ, test for equality before checking if the
       list element is NIL: in the common case only one element needs both
       tests, and even in the rare cases (looking for NIL, list contains
       several NILs) this is as fast as the old version. Common cases
       improved by ~30% by this.
    
       Now, finally, CL:ASSOC is as fast as
    
        (defun fast-assoc (item list)
          (loop for e in list
                when (eq item (car e))
                return e))
    
       when the type of ITEM is known to be (OR FIXNUM (NOT NUMBER)).
    
     * In others %ASSOC-* functions, test for existence of element only
       once (the compiler should eliminate the redundant test, though, but
       this is cleaner.)
  4. @nikodemus

    1.0.15.10: ASSOC and MEMBER were broken for :KEY #'IDENTITY

    nikodemus authored
     * Regression caused by 1.0.15.9 -- SET where is should have been SETF.
    
     * Add a few test-cases.
  5. @nikodemus

    1.0.15.9: further ASSOC & MEMBER transform improvements

    nikodemus authored
     * Neither should be MAYBE-INLINE, as the DEFTRANSFORM result is better.
    
     * Compile the out-of-line bodies with high SPEED, and declare a missing
       LIST type.
    
     * Add %ASSOC-EQ, %ASSOC-KEY-EQ, and the corresponding %MEMBER-
       versions, and transform to these when (1) no :TEST is given, but
       the item to compare against is safe for EQ (2) :TEST is given and
       either 'EQ or #'EQ.
Commits on Mar 2, 2008
  1. @nikodemus

    1.0.15.8: fix non-threaded x86 build

    nikodemus authored
     * Missing #!+sb-thread in src/assembly/x86/alloc.lisp.
Something went wrong with that request. Please try again.