sbcl.git
18 years ago0.9.8.27:
Christophe Rhodes [Mon, 9 Jan 2006 13:00:17 +0000 (13:00 +0000)]
0.9.8.27:
Merge patch from James Bielman fixing self-build under Win32.
... a little bit of an accident ensued; I ran
canonicalize-whitespace on .sh files, which seemed to
work (except on wc.sh) until it scribbled all over
make.sh, confusing the shell interpreter utterly.
... the resulting files have built the system, nevertheless.

18 years ago0.9.8.26:
Christophe Rhodes [Mon, 9 Jan 2006 12:45:47 +0000 (12:45 +0000)]
0.9.8.26:
Merge patch from James Bielman fixing use of GNAME on
fast_bzero* assembly functions.

18 years ago0.9.8.25:
Christophe Rhodes [Sun, 8 Jan 2006 22:39:03 +0000 (22:39 +0000)]
0.9.8.25:
Merge patch from Luis Oliviera (sbcl-devel 2006-01-08) fixing
probe-file on Win32.

18 years ago0.9.8.24:
Juho Snellman [Sun, 8 Jan 2006 06:31:23 +0000 (06:31 +0000)]
0.9.8.24:
        It's x86-64 sign-extension time, once again. The
        SB!VM:SIGN-EXTEND VOP wasn't getting selected, causing a full
        call for every use. Luckily it's only used only for alien
        calls whose return value is declared as a signed byte of 32 or
        fewer bits.

18 years ago0.9.8.23:
Juho Snellman [Sun, 8 Jan 2006 03:06:11 +0000 (03:06 +0000)]
0.9.8.23:
        Add x86-64 support for passing alien callback parameters on the stack.

18 years ago0.9.8.22:
Juho Snellman [Sun, 8 Jan 2006 02:01:42 +0000 (02:01 +0000)]
0.9.8.22:
        Some x86-64 SAP-REF setter VOPs for floats were trying to use
        the MOVE macro on float registers, causing compile errors in
        rare circumstances. Extend x86-64 MOVE to also handle
        SINGLE-REG and DOUBLE-REG SCs.

18 years ago0.9.8.21:
Juho Snellman [Sun, 8 Jan 2006 00:59:34 +0000 (00:59 +0000)]
0.9.8.21:
        Oops.

18 years ago0.9.8.20:
Juho Snellman [Sun, 8 Jan 2006 00:33:13 +0000 (00:33 +0000)]
0.9.8.20:
        Final batch from sbcl-devel "Changes to GENCGC memory zeroing"
in 2005-12).  Use hand-coded assembly for zeroing memory in
GENCGC instead of the platform memset/bzero.

        * Use MOVNTDQ on x86-64
        * Use MOVNTDQ on x86 that supports SSE2 (basically Pentium 4 and
          newer)
        * Difference to the version posted on sbcl-devel: Do *not* use
          the MMX MOVNTQ for x86 that supports MMX but not
          SSE2. MOVNTQ apparently had very bad performance on K7
          Athlons/Durons.
        * Use REP STOSL on remaining x86.

18 years ago0.9.8.19:
Juho Snellman [Sat, 7 Jan 2006 18:53:39 +0000 (18:53 +0000)]
0.9.8.19:
        Changes to GENCGC memory zeroing behaviour that give a big
        performance boost, especially on modern processors.

        * Instead of zeroing memory by remapping memory with
          munmap/mmap at GC time, pages are just marked as needing
          zeroing and zeroed with memset when they're added to a new
          allocation region. This reduces GC latency both for the
          common and worst cases.

        * To keep the memory footprint down, clear the pages by
          remapping after major GCs (arbitrarily defined as a
          collection of generation 2 or older).  The memory freed from
          a minor GC is just going to get used again immediately , so
          releasing them back to the OS would make little sense.

        * Add a GENCGC mode (#define READ_PROTECT_FREE_PAGES) for
          catching attempts to read unallocated pages

        * See sbcl-devel "Changes to GENCGC memory zeroing" in 2005-12
          for more details and performance measurements. (Note
          that many parts of this patch have already been committed
          piecemeal over the last month, this is just the most
          significant chunk).

        * Performance effect on BSDs (which used a different zeroing
          strategy than Linux before this) is unknown.

18 years ago0.9.8.18:
Juho Snellman [Sat, 7 Jan 2006 18:22:58 +0000 (18:22 +0000)]
0.9.8.18:
        Rearrange the GENCGC "struct page" a bit to for a more compact
        memory representation. Saves memory (about 15MB on x86-64
        where the page table is large, a couple of MB on x86). Also
        a minor performance improvement thanks to cache issues.

        TODO: The size could be still improved by another 15MB on x86-64
        by defining the ill-named first_object_offset as an int
        instead of long (4 bytes less data and 4 bytes less of padding).
        The naive implementation would then limit the maximum region size
        to 4GB. Since some low bits in the field are guaranteed to be
        zero, a smart implementation could do some shifts and store even
        more data. It remains to be seen whether this would be worthwhile.

18 years ago0.9.8.17:
Christophe Rhodes [Fri, 6 Jan 2006 16:44:59 +0000 (16:44 +0000)]
0.9.8.17:
Fix a bug in ENSURE-DIRECTORIES-EXIST: merge in
*DEFAULT-PATHNAME-DEFAULTS*.
... this fix may also include a mostly-working set of pathname
functions for Win32.  Or it may not.  You have been
warned.

18 years ago0.9.8.16:
Juho Snellman [Fri, 6 Jan 2006 03:31:26 +0000 (03:31 +0000)]
0.9.8.16:
        Merge sbcl-devel "Some assembler improvements for x86-64" by
        Lutz Euler on 2006-01-05.

        Quote from the email:

          1. a reduction in core size of 190 KB due to shorter encodings
             for common forms of the MOV instruction, and
          2. for robustness, better checking of dword-sized immediate
             arguments in the assembler with respect to their implicit
             sign-extension.

18 years ago0.9.8.15:
Juho Snellman [Fri, 6 Jan 2006 02:37:06 +0000 (02:37 +0000)]
0.9.8.15:
        More with-testage. Merge sbcl-devel "[PATCH] callback tests"
        by Cyrus Harmon on 2006-01-06.

18 years ago0.9.8.14:
Juho Snellman [Fri, 6 Jan 2006 01:11:07 +0000 (01:11 +0000)]
0.9.8.14:
        Fix saving a core with callbacks on x86 and x86-64, as
        discussed on sbcl-devel "CFFI Callbacks on SBCL" on
        2005-12-31. Essentially the problem is that the address of
        #'ENTER-ALIEN-CALLBACK is hard-coded into the assembly callback
        wrappers, and the address of the function can change when
        saving a non-purified core.

        * Define a static symbol that contains #'ENTER-ALIEN-CALLBACK
          in the value slot.
        * Change the x86 / x86-64 wrappers to indirect through the
          slot.
        * Add minimal test case
        * Add a make-config.sh-detected :alien-callbacks feature

18 years ago0.9.8.13:
Gabor Melis [Thu, 5 Jan 2006 20:00:39 +0000 (20:00 +0000)]
0.9.8.13:
  * don't flood the system with GCs in the :BINDING-STACK-GC-SAFETY
    test as SLEEP totally loses track of time (really hurts on true
    multiprocessor systems)
  * log SLEEP bug

18 years ago0.9.8.12:
Gabor Melis [Thu, 5 Jan 2006 14:13:14 +0000 (14:13 +0000)]
0.9.8.12:
  * NetBSD has a different bug in SA_NODEFER, detect it (patch by
    Richard M Kreuter)

18 years ago0.9.8.11:
Gabor Melis [Thu, 5 Jan 2006 14:04:23 +0000 (14:04 +0000)]
0.9.8.11:
  * fix compiler looping on #p"" when compiled with high debug
    settings (thanks to Xophe support)
  * add the tests missed in .10

18 years ago0.9.8.10:
Gabor Melis [Thu, 5 Jan 2006 11:17:58 +0000 (11:17 +0000)]
0.9.8.10:
  * bug fix: allow non-simple string symbol names (reported by Paul
    Dietz)

18 years ago0.9.8.9:
Nathan Froyd [Wed, 4 Jan 2006 14:52:29 +0000 (14:52 +0000)]
0.9.8.9:
Merge "updated ppc callback patch and tests", Cyrus Harmon,
  sbcl-devel 2006-01-01;
* ...with a fix from Heiner Schwarte, sbcl-devel 2005-12-25.

18 years ago0.9.8.8
Rudi Schlatte [Tue, 3 Jan 2006 14:45:54 +0000 (14:45 +0000)]
0.9.8.8
Add reference to isatty() ; successful cross-build with this change

18 years ago0.9.8.7:
Christophe Rhodes [Tue, 3 Jan 2006 09:52:37 +0000 (09:52 +0000)]
0.9.8.7:
Merge "merge candidate 1" for SBCL/Win32.
... a lot done, a lot left to do.

18 years ago0.9.8.6:
Juho Snellman [Fri, 30 Dec 2005 00:21:40 +0000 (00:21 +0000)]
0.9.8.6:
        Make the count of fasl header counted strings a 32-bit value
        also on 64-bit platforms.  This ensures that a x86-64 SBCL can
        gracefully detect an error when trying to read a x86 fasl
        instead of choking on a ridiculously long counted string.

18 years ago0.9.8.5:
Juho Snellman [Thu, 29 Dec 2005 22:48:01 +0000 (22:48 +0000)]
0.9.8.5:
        Merge sbcl-devel "segmentation fault on recent FreeBSD-current"
        by NIIMI Satoshi, 2005-28-12 (with minor changes).

        Add comments to document the reasoning behind a couple of
        odd constructs in the 0.9.8.3 EQUAL changes to make them
        look less like CMUCL-style black magic.

18 years ago0.9.8.4:
Christophe Rhodes [Thu, 29 Dec 2005 16:08:31 +0000 (16:08 +0000)]
0.9.8.4:
Beginnings of a Win32 merge.
... rearrange the build scripts to use input from files rather
than <<HERE documents.
... (no other changes; just working to get the meaty changes
isolated from the fluff)

18 years ago0.9.8.3:
Juho Snellman [Wed, 28 Dec 2005 22:37:14 +0000 (22:37 +0000)]
0.9.8.3:
Make EQUAL faster (about 50% improvement for short lists on x86-64).
        As amazing as it might seem, there are actually real-world
        applications where significant time is spent in EQUAL.

        * Inline EQL in EQUAL
        * Rearrange things a bit to enable the inlining
        * Rewrite EQUAL to use a local helper function

18 years ago0.9.8.2: constraint propagation
Gabor Melis [Wed, 28 Dec 2005 13:56:23 +0000 (13:56 +0000)]
0.9.8.2: constraint propagation
  * add (EQL LAMBDA-VAR LAMBDA-VAR) constraints on BIND and CSET
  * add cast and test constraints to all eql lambda vars
  * calculate the intersection of two lambda-var types when
    encountering (IF (EQL X Y) ...) and neither X or Y is a subtype of
    the other
  * there is now only one invocation of FIND-AND-PROPAGATE-CONSTRAINTS
  * since GEN depends on IN there is no COMPUTE-BLOCK-OUT shortcut
    anymore, a full FIND-CONSTRAINTS-IN-BLOCK is done
  * for blocks whose constraints won't be recalculated after the
    prepass (see LEADING-COMPONENT-BLOCKS) do what
    USE-RESULT-CONSTRAINTS would do is done on the prepass to save
    time
  * support test constraint propagation for blocks with with multiple
    predecessors

18 years ago0.9.8.1:
Juho Snellman [Wed, 28 Dec 2005 12:39:12 +0000 (12:39 +0000)]
0.9.8.1:
        Make LDB quit on a ^D from a TTY instead of just ignoring the EOF.

        * More consistent with the normal REPL
        * The old behaviour would occasionally cause an infinite loop
          of printing the LDB prompt, trying to read input, finding that
          the tty was closed, printing the prompt again, etc.

18 years ago0.9.8:
William Harold Newman [Tue, 27 Dec 2005 17:18:54 +0000 (17:18 +0000)]
0.9.8:
release, tagged as sbcl_0_9_8

18 years ago0.9.7.35:
Christophe Rhodes [Thu, 22 Dec 2005 10:10:47 +0000 (10:10 +0000)]
0.9.7.35:
Document the "SYS" logical host, as required by ANSI.

18 years ago0.9.7.34:
Alexey Dejneka [Wed, 21 Dec 2005 13:00:49 +0000 (13:00 +0000)]
0.9.7.34:
        * New bug.

18 years ago0.9.7.33:
Christophe Rhodes [Mon, 19 Dec 2005 10:49:33 +0000 (10:49 +0000)]
0.9.7.33:
Merge patch (Daisuke Homma sbcl-devel 2005-12-19) for stack
exhaustion on x86/SunOS.

18 years ago0.9.6.32:
Gabor Melis [Sat, 17 Dec 2005 22:38:17 +0000 (22:38 +0000)]
0.9.6.32:
  * added support for (EQL LAMBDA-VAR LVAR) constraints
  * fixed bug #233.b by paying attention to said constraints

18 years ago0.9.7.31:
Christophe Rhodes [Fri, 16 Dec 2005 15:06:09 +0000 (15:06 +0000)]
0.9.7.31:
        Merge essentially as "Pathname goodness" from CSR sbcl-devel
        2005-12-15.
        ... define pathname host-specific PARSE-NATIVE and
                UNPARSE-NATIVE methods.
        ... define NATIVE-PATHNAME, NATIVE-NAMESTRING and
                PARSE-NATIVE-NAMESTRING in a direct analogy with
                PATHNAME, NAMESTRING and PARSE-NAMESTRING.
        ... use NATIVE-PATHNAME both on what POSIX-GETCWD/ returns and
                on files the user has asked us to load at the command
                line.  (Fixes bug #296 and *DEFAULT-PATHNAME-DEFAULTS*
                being wrong when a component of the current
                directory contains a pathname metacharacter in
                "[*?\\")
        ... don't create a string from --load (and --disable-debugger)
                that just gets read again; instead allow
                process-eval-options to deal with non-strings too.
        ... tease *physical-host* (the default physical host on the
                platform) and *unix-host* apart ever so slightly, with
                obvious knock-on benefits for ports to non-Unixoid
                platforms.
        ... sb-posix no longer needs its own implementation of
                NATIVE-FILENAME.
        ... delete unused UNIX-MAYBE-PREPEND-DIRECTORY.
... some tests and some documentation.

18 years ago0.9.7.30: robustify sb-introspect when used with extended function names
Nikodemus Siivola [Thu, 15 Dec 2005 22:08:38 +0000 (22:08 +0000)]
0.9.7.30: robustify sb-introspect when used with extended function names
 ...so that (find-definition-sources-by-name '(setf foo) :class) will
    return NIL instead of signaling an error.
 ...this makes it simpler to support M-. for SETF-names in Slime.

18 years ago0.9.7.29:
Juho Snellman [Thu, 15 Dec 2005 20:18:09 +0000 (20:18 +0000)]
0.9.7.29:
        Oops, fix cheneygc build (thanks to Jon Allen Boone).

18 years ago0.9.7.28:
Juho Snellman [Wed, 14 Dec 2005 03:39:23 +0000 (03:39 +0000)]
0.9.7.28:
        Make MAP-ALLOCATED-OBJECTS use gencgc pagetable information to
        skip over free dynamic space regions.

        * More accurate ROOM results (previously all empty space up to
          the fake allocation pointer would get counted as conses)
        * Usually faster
        * Needed for some GC work that might get committed in the future
        * Genesify the GENCGC page size, while since it's now needed
          in Lisp

18 years ago0.9.7.27:
Juho Snellman [Wed, 14 Dec 2005 02:02:11 +0000 (02:02 +0000)]
0.9.7.27:
         Oops. Off-by-one in 0.9.5.68 meant that the shorter MOV instruction
         wasn't getting used quite as often as possible. Use a check for
         (signed-byte 32) instead of (signed-byte 31) to pick between the
         C7 and B8 opcodes. Shrinks the x86-64 core by 70k.

18 years ago0.9.7.26:
Christophe Rhodes [Tue, 13 Dec 2005 13:56:00 +0000 (13:56 +0000)]
0.9.7.26:
Log a bug in fill-pointer streams, from tichy on sbcl-help.

18 years ago0.9.7.25:
Juho Snellman [Sun, 11 Dec 2005 04:23:04 +0000 (04:23 +0000)]
0.9.7.25:
        Miscellanea.

        * Don't return structures from FIND-DEFINITION-SOURCE-BY-NAME when
          asking for classes
        * Fix typo in error message for --eval '1 2' (reported by ignas
          on #lisp)
        * Add a couple of comments
* Add myself to the initials glossary

18 years ago0.9.7.24:
Thiemo Seufer [Sat, 10 Dec 2005 22:27:59 +0000 (22:27 +0000)]
0.9.7.24:
Don't flush icaches for each moved code vector when using
cheneygc, it is more efficient to do that once for the whole
dynamic space.

18 years ago0.9.7.22:
Christophe Rhodes [Fri, 9 Dec 2005 15:57:43 +0000 (15:57 +0000)]
0.9.7.22:
Oops II.  Make (SETF CLASS-NAME) and (SETF
GENERIC-FUNCTION-NAME) return the right values.

18 years ago0.9.7.22:
Christophe Rhodes [Fri, 9 Dec 2005 11:02:28 +0000 (11:02 +0000)]
0.9.7.22:
Whoops.  Make (setf class-name) and (setf generic-function-name)
generic functions again; AMOP may not specify it, but ANSI
does...
... also log some bugs

18 years ago0.9.7.21:
Christophe Rhodes [Thu, 8 Dec 2005 18:12:59 +0000 (18:12 +0000)]
0.9.7.21:
Make SB-PCL::MAP-ALL-CLASSES hit each class Once And Only Once.

18 years ago0.9.7.20:
Christophe Rhodes [Thu, 8 Dec 2005 17:43:45 +0000 (17:43 +0000)]
0.9.7.20:
Add documentation of the various SLOT-VALUEish optimizations
performed.
... and some FIXMEs where either (a) I'm not sure what's going on
or (b) something fishy is happening.

18 years ago0.9.7.19:
Christophe Rhodes [Wed, 7 Dec 2005 15:57:21 +0000 (15:57 +0000)]
0.9.7.19:
Merge patch (DL "external-formats problem..." 2005-12-03
sbcl-devel)
... and (fixed) test case 2005-12-07

18 years ago0.9.7.18:
Christophe Rhodes [Wed, 7 Dec 2005 15:24:41 +0000 (15:24 +0000)]
0.9.7.18:
Merge patch (David Lichteblau sbcl-devel
"define-optimization-quality compute-debug-fun" 2005-12-03)

18 years ago0.9.7.17:
Christophe Rhodes [Wed, 7 Dec 2005 14:20:04 +0000 (14:20 +0000)]
0.9.7.17:
Document what we've learnt about discriminating functions
in the internals manual
... now we depend on dot (graphviz) to draw pretty state
transition graphs.
... lots o' text.  I hope it's clear.

(it would be good to upload this to the web somewhere, in
order to be the top hit for e.g. "PCL CONSTANT-VALUE" on search
engines, so that the next person to hit the swamp has a chance
to get out before it's too late.  Hack the Makefile enough so
that we can build an html version of an internals manual.)

18 years ago0.9.7.16:
Christophe Rhodes [Mon, 5 Dec 2005 18:01:27 +0000 (18:01 +0000)]
0.9.7.16:
More PCL smallification.
... the ACCESSOR-SLOT-VALUE optimization creates a generic
function (using load-time-value) when it sees
a form like (slot-value x 'constant).  That's fine,
but...
... these generic functions are also created at class
initialization time, three per slot.  This hurts
now that we're creating classes eagerly (so that the
mop functionality works) as even condition classes
and structure classes cause these gfs to come into
being.
... so, rearrange things so that only those generic functions
which are needed are created.  Never create one with
a slot-missing method, as the automatically-generated
method will fall through to the full call and get there
eventually, anyway.
... this causes slot-missing from slot-value outside of methods
to be slower if (and only if) no slot of that name
exists in the image anywhere.  We could potentially
improve fall-through-to-slot-missing performance.

(this shaves off 2.5Mb from sbcl.core on my x86)

18 years ago0.9.7.15:
Thiemo Seufer [Sun, 4 Dec 2005 23:24:13 +0000 (23:24 +0000)]
0.9.7.15:
Mark as foreing function call before the first tagged Lisp
register gets clobbered.

18 years ago0.9.7.14:
Thiemo Seufer [Sun, 4 Dec 2005 23:07:13 +0000 (23:07 +0000)]
0.9.7.14:
Stray whitespace.

18 years ago0.9.7.13:
Thiemo Seufer [Sun, 4 Dec 2005 22:52:40 +0000 (22:52 +0000)]
0.9.7.13:
Implement gc_assert_verbose, and use it in a few cases.

18 years ago0.9.7.12:
Thiemo Seufer [Sun, 4 Dec 2005 22:25:07 +0000 (22:25 +0000)]
0.9.7.12:
Properly close the output line before we die.

18 years ago0.9.7.11:
Thiemo Seufer [Sun, 4 Dec 2005 19:54:54 +0000 (19:54 +0000)]
0.9.7.11:
gc_assert/gc_abort are already defined in gc-internal.h.

18 years ago0.9.7.10:
Christophe Rhodes [Fri, 2 Dec 2005 22:53:04 +0000 (22:53 +0000)]
0.9.7.10:
PCL smallification...
... no more (SB-PCL::CLASS-PREDICATE FOO).  (Oh, the irony: the
case which made me implement generalised function names
was completely unused :-)
... deletes one slot, one generic function and two methods per
class.
... some minor rearrangements of the braid/bootstrap.

This exposes a code path which could never possibly have worked:
now that we're not creating a class-predicate, we end up in a
different place for creating the cell of a class slot added by a
mop user.  Fix the embarrassingly wrong code (and yay for
automated tests).

18 years ago0.9.7.9:
Christophe Rhodes [Fri, 2 Dec 2005 14:30:13 +0000 (14:30 +0000)]
0.9.7.9:
Fix bug #392: yet another hole in MAKE-INSTANCES-OBSOLETE
... make the classoid-based invalidation of layouts clear (set
to 0) the clos-hash slots of the layout, as well as
setting depthoid to -1 and layout-invalid to t.
... this intertwingling is kind of odd, and also kind of
unnecessary.  Maybe step 1 of an integrated PCL would
merge layouts and wrappers and centralize their
handling?
... fix genesis never to dump layouts with hash-slots of 0.
... one or two explanatory comments.

18 years ago0.9.7.8:
Juho Snellman [Thu, 1 Dec 2005 04:16:00 +0000 (04:16 +0000)]
0.9.7.8:
X86-64 floating point changes:

* Create FP zeroes with XORPS/XORPD on instead of MOVQ XMM15.
        * Don't zero XMM15 after every foreign call (not needed anymore
          thanks to previous change)
        * Add SQRTSS/SQRTSD instructions
        * Use SQRTSD for implementing %SQRT, instead of calling to C
        * Replace &REST in SC-CASE lambda list with &BODY (for better
          Slime indentation)

18 years ago0.9.7.7:
Juho Snellman [Thu, 1 Dec 2005 00:27:27 +0000 (00:27 +0000)]
0.9.7.7:
A couple of SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME fixes:

* Handle extended function names more gracefully
        * Don't crash if a :SETF :INVERSE infodb entry is found
        * Minor cleanups

18 years ago0.9.7.6:
Juho Snellman [Thu, 1 Dec 2005 00:21:21 +0000 (00:21 +0000)]
0.9.7.6:
Fix ansi-test DOCUMENTATION.SYMBOL.METHOD-COMBINATION.1

        * (Just to show off my amazing PCL skills).

18 years ago0.9.7.5: one more bug in the obsolete-instance protocol
Nikodemus Siivola [Wed, 30 Nov 2005 09:36:41 +0000 (09:36 +0000)]
0.9.7.5: one more bug in the obsolete-instance protocol

18 years ago0.9.7.4:
Juho Snellman [Wed, 30 Nov 2005 01:08:19 +0000 (01:08 +0000)]
0.9.7.4:
Improve type inference for LOOP arithmetic-for index variables
        that have constant bounds and step (e.g (LOOP FOR I TO 10 ...)).
        Fixes bug 278a.

        * Comment out some code in the LOOP macro that was supposed to
          generate optimized code for constant arithemetic-for, but
          actually pessimized by outsmarting the loop induction variable
          handling.
        * Produces slightly less optimal code (one extra test and jump
          when entering the loop) than the old version in the case where
          sufficient type information is specified manually with an
          OF-TYPE.
        * Remove some fossilized remnants of the loop extension facility.

18 years ago0.9.7.3:
Christophe Rhodes [Tue, 29 Nov 2005 16:17:33 +0000 (16:17 +0000)]
0.9.7.3:
Fix :CHARACTER-SET components or subcomponents in pathnames
... everything apart from the constructor thought they were
represented as a dotted pair.  Make it so.

18 years ago0.9.7.2:
Christophe Rhodes [Tue, 29 Nov 2005 13:34:35 +0000 (13:34 +0000)]
0.9.7.2:
Merge "file-string-length" patch (Robert J. Macomber sbcl-devel
2005-11-28)
... write a test case or two.

18 years ago0.9.7.1:
Christophe Rhodes [Tue, 29 Nov 2005 11:10:37 +0000 (11:10 +0000)]
0.9.7.1:
fix bug #391.

18 years ago0.9.7:
William Harold Newman [Mon, 28 Nov 2005 17:52:52 +0000 (17:52 +0000)]
0.9.7:
release, tagged as sbcl_0_9_7

18 years ago0.9.6.58:
Juho Snellman [Fri, 25 Nov 2005 23:57:33 +0000 (23:57 +0000)]
0.9.6.58:
* Remove a few obsolete entries from BUGS
        * Add a NEWS entry that got lost in the messed up 0.9.6.45
          commit

18 years ago0.9.6.57:
Christophe Rhodes [Thu, 24 Nov 2005 17:54:20 +0000 (17:54 +0000)]
0.9.6.57:
Log another bug

18 years ago0.9.6.56:
Christophe Rhodes [Thu, 24 Nov 2005 11:59:44 +0000 (11:59 +0000)]
0.9.6.56:
Log a bug in wild pathnames from sbcl-help

18 years ago0.9.6.55: the last of the SRHINK-VECTOR fixes
Brian Mastenbrook [Tue, 22 Nov 2005 01:01:17 +0000 (01:01 +0000)]
0.9.6.55: the last of the SRHINK-VECTOR fixes
   * call SRHINK-VECTOR for return value, not effect, in DELETE-DUPLICATES
   * call %SRHINK-VECTOR in purify, where we're not going to be GCing

18 years ago0.9.6.54:
Christophe Rhodes [Mon, 21 Nov 2005 14:00:29 +0000 (14:00 +0000)]
0.9.6.54:
Fix bugs reported by piso on #lisp (via our own test suite...)
... always return the vector from new SHRINK-VECTOR (fixes
seq.impure.lisp)
... export %SHRINK-VECTOR from SB-KERNEL (fixes
gray-streams.impure.lisp)

18 years ago0.9.6.53: in the name of stability and goodwill
Gabor Melis [Sun, 20 Nov 2005 19:40:02 +0000 (19:40 +0000)]
0.9.6.53: in the name of stability and goodwill
  * SHRINK-VECTOR is now safe wrt to gcing: it returns a new vector
    if needed, only shrinks arrays with fill pointers destructively.
  * %SHRINK-VECTOR is what SHRINK-VECTOR used to be, an unsafe
    performance hack for the case where the vector cannot be accessed
    from interrupts/other threads.
  * don't call %ARRAY-DISPLACED-P on vectors

18 years ago0.9.6.52:
Gabor Melis [Fri, 18 Nov 2005 21:41:57 +0000 (21:41 +0000)]
0.9.6.52:
  * fixed hash-table/gc deadlock introduced in .50

18 years ago0.9.6.51:
Christophe Rhodes [Fri, 18 Nov 2005 17:12:42 +0000 (17:12 +0000)]
0.9.6.51:
Fix bug reported by Kalle Olavi Niemitalo on comp.lang.lisp
... create CONDITION-CLASSes for DEFINE-CONDITION forms
eagerly.
... oh, but wait.  CONDITION-CLASSes are already created as part
of the reader/writer generation, for those condition
classes with slots, in the (find-class condition)
incantation of install-condition-fooer-function.
... and oh joy, reinitialize-instance on condition-classes
removes accessors but does not add them again.  Add
a reinitialize-instance :after method to put them back.
... add a comment explaining that I have no idea what is meant
to happen.  (CMUCL has a bogus CLASS-DIRECT-SLOTS on
condition instances, which explains somewhat why it
seems to work there...)

18 years ago0.9.6.50: stability before creativity
Gabor Melis [Fri, 18 Nov 2005 12:28:40 +0000 (12:28 +0000)]
0.9.6.50: stability before creativity
  * protect hash table operations with spinlocks on threaded builds =>
    ** no more memory corruption due to SHRINK-VECTOR in hash table code
    ** no more hangs caused by a corrupted NEXT-VECTOR that is cyclic
    ** as a side effect hash tables are thread safe (but it's not part of
       the contract, do your own locking)
    ** slower hash tables

18 years ago0.9.6.49: oops
Gabor Melis [Thu, 17 Nov 2005 18:36:07 +0000 (18:36 +0000)]
0.9.6.49: oops
  * fix typo in cell.lisp for ppc

18 years ago0.9.6.48: more stability
Gabor Melis [Thu, 17 Nov 2005 12:13:35 +0000 (12:13 +0000)]
0.9.6.48: more stability
  * zero the value on the binding stack when UNBINDing to prevent gc
    lossage under rare circumstances (see internals manual)

18 years ago0.9.46.7:
Nathan Froyd [Wed, 16 Nov 2005 15:07:06 +0000 (15:07 +0000)]
0.9.46.7:
Fix SB-MD5 bugs:
* Updating the MD5 state with a "short" sequence was buggy;
  ...and the moral of the story is: (SAFETY 0) hides real bugs
* MD5SUM-SEQUENCE did not respect fill pointers.

18 years ago0.9.6.46:
Gabor Melis [Wed, 16 Nov 2005 09:45:50 +0000 (09:45 +0000)]
0.9.6.46:
  * use SIGUSR1 for SA_NODEFER detection for gdb on darwin's sake

18 years ago0.9.6.45:
Nathan Froyd [Tue, 15 Nov 2005 16:00:16 +0000 (16:00 +0000)]
0.9.6.45:
Fix BIGNUM-ABS-BUFFER to pass the right number of args to
  NEGATE-BIGNUM-BUFFER-IN-PLACE.

18 years ago0.9.6.44:
Gabor Melis [Tue, 15 Nov 2005 12:49:30 +0000 (12:49 +0000)]
0.9.6.44:
  * access *BINDING-STACK-POINTER* directly without looking up the tls
    index on threaded builds. This shaves 120K off the core and makes
    using specials a bit faster.

18 years ago0.9.6.43:
Juho Snellman [Tue, 15 Nov 2005 04:13:41 +0000 (04:13 +0000)]
0.9.6.43:
Improve loop index variable detection:
        * Allow the initial value and the step to be of different types,
          as long as the initial value is more contagious (e.g (LOOP
          FOR I FROM 1.0 TO 5.0 ...))
        * Allow modification to the index variable with -, not just +
          (e.g (LOOP REPEAT 5 ...))

18 years ago0.9.6.42:
Gabor Melis [Sun, 13 Nov 2005 11:14:24 +0000 (11:14 +0000)]
0.9.6.42:
  * clear the interrupted flag in interrupt_handle_pending (one less
    MOV in PSEUDO-ATOMIC) on x86/x86-64
  * fixed compilation error with QSHOW in gencgc.c

18 years ago0.9.6.41:
Juho Snellman [Sun, 13 Nov 2005 06:22:43 +0000 (06:22 +0000)]
0.9.6.41:
Make the foreign-stack-alignment tests not fail on x86-64 (mind
        you, I'm convinced that the test is valid).

        * Pass -fPIC to cc on x86-64
        * x86-64 wants 16-byte alignment
        * Add WITH-TESTs

18 years ago0.9.6.40:
Juho Snellman [Sun, 13 Nov 2005 05:22:19 +0000 (05:22 +0000)]
0.9.6.40:
Fix a small pprint performance problem caused by the Unicode work.

        * Allow using SIMPLE-BASE-STRINGs directly as pprint
          suffix/prefix, instead of coercing them to (SIMPLE-ARRAY CHARACTER).
        * OOAOM the idiom used in for specializing a block of code for
          several types of strings.

18 years ago0.9.6.39:
Juho Snellman [Sun, 13 Nov 2005 05:10:46 +0000 (05:10 +0000)]
0.9.6.39:
        Yet another personality() change. Some older kernels (original
        report was on 2.6.4) apparently strip unknown personality
        flags on exec(), leading to an eternal execve() loop at
        startup. So only do the re-exec dance on 2.6.11 and newer.

18 years ago0.9.6.38:
Gabor Melis [Sat, 12 Nov 2005 19:50:48 +0000 (19:50 +0000)]
0.9.6.38:
  * enabled a faster inline-alloc on x86
  * +300k to core size
  * tested on P4 and Pentium M, it is roughly 25% faster on pure consing

18 years ago0.9.6.37:
Christophe Rhodes [Wed, 9 Nov 2005 15:54:02 +0000 (15:54 +0000)]
0.9.6.37:
Do the CHANGE-CLASS checking for funcallable-standard-objects
too.

18 years ago0.9.6.36:
Christophe Rhodes [Wed, 9 Nov 2005 13:02:46 +0000 (13:02 +0000)]
0.9.6.36:
More checking.  No more CHANGE-CLASS to metaobject classes,
except for FORWARD-REFERENCED-CLASS -> CLASS

18 years ago0.9.6.35:
Christophe Rhodes [Tue, 8 Nov 2005 20:35:18 +0000 (20:35 +0000)]
0.9.6.35:
Minor fixes to the debugger
... some pretty-print magic for the debugger entrance message;
... the logic in the nested debugger condition cell error name
seems wrong; make it right, I think

18 years ago0.9.6.34:
Christophe Rhodes [Tue, 8 Nov 2005 20:31:34 +0000 (20:31 +0000)]
0.9.6.34:
Merge floating point printing patch from Simon Alexander
... enough peer review is enough.

18 years ago0.9.6.33:
Christophe Rhodes [Mon, 7 Nov 2005 21:52:54 +0000 (21:52 +0000)]
0.9.6.33:
Implement the last bit of Method metaobject
initialization checking

18 years ago0.9.6.32:
Christophe Rhodes [Mon, 7 Nov 2005 21:41:08 +0000 (21:41 +0000)]
0.9.6.32:
Some more references, this time for BUILT-IN-CLASS stuff.

18 years ago0.9.6.31:
Christophe Rhodes [Mon, 7 Nov 2005 20:55:56 +0000 (20:55 +0000)]
0.9.6.31:
Better error messages for method initialization violations

18 years ago0.9.6.30:
Christophe Rhodes [Sun, 6 Nov 2005 19:21:06 +0000 (19:21 +0000)]
0.9.6.30:
Propagate documentation from dslotds to eslotds as specified in
ANSI 7.6.2.

18 years ago0.9.6.29:
Christophe Rhodes [Sun, 6 Nov 2005 18:18:43 +0000 (18:18 +0000)]
0.9.6.29:
Make one (failing on sparc/sunos) compiler test a little more
new-test-framework-friendly.

18 years ago0.9.6.28: missing NEWS entries, minor test fix
Nikodemus Siivola [Sun, 6 Nov 2005 18:10:40 +0000 (18:10 +0000)]
0.9.6.28: missing NEWS entries, minor test fix
  ...that's all she sang...

18 years ago0.9.6.27: type inference from CHECK-TYPE
Nikodemus Siivola [Sun, 6 Nov 2005 17:51:26 +0000 (17:51 +0000)]
0.9.6.27: type inference from CHECK-TYPE
 * Merge patch from Vincent Arkesteijn (sbcl-devel 2005-01-02)
   with a slight modification: use the new expansion only if place
   is a variable.

18 years ago0.9.6.26: preserve stack alignment in callbacks on ppc
Nikodemus Siivola [Sun, 6 Nov 2005 13:25:47 +0000 (13:25 +0000)]
0.9.6.26: preserve stack alignment in callbacks on ppc
 * Merge patch from Cyrus Harmon (sbcl-devel 2005-11-04), plus slightly
   twisted tests.

 Note: This has been tested on ppc/darwin and x86/linux, but the new tests
 are active on all platforms -- using alignment requirements I've essentially
 guessed.

18 years ago0.9.6.25:
Juho Snellman [Sun, 6 Nov 2005 08:40:28 +0000 (08:40 +0000)]
0.9.6.25:
Have you ever tried jumping to the definition of a method combination
        with M-. only to be thwarted by Slime/SBCL? Yeah, me neither...

* Record source location information for all definition forms.
          (Except when (AND (> SPACE DEBUG) (> SPACE 1))).
        * On by default, can be disabled by removing :SB-SOURCE-LOCATIONS
          from build-features (if you really want to save that last 60kB
          of space...)
        * Add structure SB-C:DEFINITION-SOURCE-LOCATION for saving the
          source locations
        * Annotate all definition form macros with calls to
          SB-C:SOURCE-LOCATION, which is compiler-macro-expanded
          to a D-S-L instance and saved into an appropriate place.
        * For cases where no appropriate place exists, add new
          info class :SOURCE-LOCATION.
        * Some trickery required to get the source locations recorded
          for early definitions.
        * SB-INTROSPECT:FIND-DEFINITION-SOURCE no longer tries to guess
          what definition to search for when given a symbol. (I don't
          feel too bad about this, since the interface is explicitly
          not supported yet).
        * New function SB-INTROSPECT:FIND-DEFINITION-SOURCES-BY-NAME
          for querying, e.g (FIND-DEFINITION-SOURCES-BY-NAME '*FOO* :VARIABLE).
          Returns a list of locations (to support things like
          (F-D-S-B-N 'FOO :METHOD) or (F-D-S-B-N 'foo :VOP)).
        * Stalate the fasls.

18 years ago0.9.6.24:
Juho Snellman [Sun, 6 Nov 2005 04:00:38 +0000 (04:00 +0000)]
0.9.6.24:
Faster bignum subtraction and division.

        (Patch from sbcl-devel "A microoptimisation of bignum subtraction
        on x86/x86-64" by Lutz Euler on 2005-10-16)

18 years ago0.9.6.23:
Juho Snellman [Sun, 6 Nov 2005 02:59:06 +0000 (02:59 +0000)]
0.9.6.23:
Batch mprotect calls in write_protect_generation_pages, instead
        of doing individual calls for each 4096 byte page (faster startup).