sbcl.git
17 years ago0.9.18.36:
Nathan Froyd [Tue, 7 Nov 2006 01:06:02 +0000 (01:06 +0000)]
0.9.18.36:
Commit Ossi Herrala's "Small nuisance with NetBSD", sbcl-devel
  2006-11-06.

17 years ago0.9.18.35:
Nathan Froyd [Tue, 7 Nov 2006 01:02:50 +0000 (01:02 +0000)]
0.9.18.35:
Commit Matthew Swank's "patch to allow compiler dependent doc to
  build under cygwin/win32", sbcl-devel 2006-11-06.

17 years ago0.9.18.34:
Thiemo Seufer [Sat, 4 Nov 2006 22:34:32 +0000 (22:34 +0000)]
0.9.18.34:
Fix build failure with texinfo from debian/unstable.

17 years ago0.9.18.33:
Thiemo Seufer [Sat, 4 Nov 2006 18:56:10 +0000 (18:56 +0000)]
0.9.18.33:
Build fix for cheneygc.

17 years ago0.9.18.32: room test that was supposed to be in 0.9.18.31
Nikodemus Siivola [Fri, 3 Nov 2006 19:56:36 +0000 (19:56 +0000)]
0.9.18.32: room test that was supposed to be in 0.9.18.31

17 years ago0.9.18.31: room fix
Nikodemus Siivola [Fri, 3 Nov 2006 19:53:59 +0000 (19:53 +0000)]
0.9.18.31: room fix
 * Type-error: SHIFT in VECTOR-TOTAL-SIZE had a bogus declaration,
   masked by SAFETY 0. Remove the offending declaration and increase
   safety.
 * A more aggressive ROOM test.

17 years ago0.9.18.30:
Juho Snellman [Fri, 3 Nov 2006 11:47:56 +0000 (11:47 +0000)]
0.9.18.30:
        Fix x86-64 build (dodgy assertion, no real bug).

17 years ago0.9.18.29: --dynamic-space-size command-line switch
Nikodemus Siivola [Thu, 2 Nov 2006 17:18:36 +0000 (17:18 +0000)]
0.9.18.29: --dynamic-space-size command-line switch
 * Based on the patch by David Lichteblau. Default size of the
   dynamic space is the same as it used to be, but can be altered
   at startup.
 * Delete dead variables: stop_the_world and
   *INITIAL-DYNAMIC-SPACE-FREE-POINTER*.
 * Rewrote --help output to more typical usage format.

17 years ago0.9.18.28: allow read-only space to be placed in higher addresses on PPC
Nikodemus Siivola [Thu, 2 Nov 2006 15:35:12 +0000 (15:35 +0000)]
0.9.18.28: allow read-only space to be placed in higher addresses on PPC
 * Rewrite jumps encoding addresses to read-only space with a spare
   register so that the address range is not limited.
 * This means that fix-rospace magic can go away. (But the real reason for
   this is the forthcoming adjustable dynamic-space-size and
   relocation, which in conjunction with the rospace magic make me
   uncomfortable).

17 years ago0.9.18.27: fix darwin build
Nikodemus Siivola [Thu, 2 Nov 2006 15:11:25 +0000 (15:11 +0000)]
0.9.18.27: fix darwin build
 * Deal with missing FPE_FOO constants.

17 years ago0.9.18.26:
Juho Snellman [Thu, 2 Nov 2006 14:18:23 +0000 (14:18 +0000)]
0.9.18.26:
        Err... Also including the 64-bit input routines might make the
        64-bit output routines somewhat more useful.

17 years ago0.9.18.25:
Juho Snellman [Thu, 2 Nov 2006 13:24:00 +0000 (13:24 +0000)]
0.9.18.25:
        Support u-b 64 / s-b 64 streams with native endianity on 64-bit
        platforms.

17 years ago0.9.18.24:
Juho Snellman [Thu, 2 Nov 2006 12:55:51 +0000 (12:55 +0000)]
0.9.18.24:
        Fix SB-EXECUTABLE on win32. (Patch by Marko Kocic, sbcl-devel
        "sb-executable mingw patch" on 2006-08-29).

        * Yes, SB-EXECUTABLE is mostly useless, since nobody uses it
          for making "executables". But there are libraries that load
          SB-EXECUTABLE for the unfortunately exported COPY-STREAM
          function.
        * Oops, whitespace damage from 0.9.18.23.

17 years ago0.9.18.23:
Juho Snellman [Thu, 2 Nov 2006 12:10:40 +0000 (12:10 +0000)]
0.9.18.23:
        Fix SB-POSIX:STAT and friends on NetBSD. (Patch by Richard
        Kreuter, sbcl-devel "Request for advice re sb-posix:stat on
        NetBSD" on 2006-10-15)

17 years ago0.9.18.22:
Juho Snellman [Thu, 2 Nov 2006 12:00:30 +0000 (12:00 +0000)]
0.9.18.22:
        Use the si_code field for mapping FP exceptions to conditions
        on Posix platforms (Patch by NIIMI Satoshi, sbcl-devel "Patch to handle
        floating point exception" on 2006-10-30).

17 years ago0.9.18.21:
Juho Snellman [Thu, 2 Nov 2006 11:17:56 +0000 (11:17 +0000)]
0.9.18.21:
        Fix DEFUN-CACHED thread/interrupt-safety issues. It was
        possible for FOO-CACHE-ENTER to modify a region in the cache
        vector while FOO-CACHE-LOOKUP had only partially read it.

        * Instead of storing all the data in one vector, the main
          cache vector will only contain references to bucket vectors,
          which contain the real data. FOO-CACHE-ENTER will always
          allocate a new bucket, old buckets are never modified. Thus
          FOO-CACHE-LOOKUP consistently sees either a pre- or post-
          FOO-CACHE-ENTRY state.

17 years ago0.9.18.20: correct step-frame logic on non-x86oids
Nikodemus Siivola [Wed, 1 Nov 2006 13:00:40 +0000 (13:00 +0000)]
0.9.18.20: correct step-frame logic on non-x86oids
 * Single-stepping tests now pass on ppc/darwin, at least.

17 years ago0.9.18.19: oops, tests hang!
Nikodemus Siivola [Wed, 1 Nov 2006 11:48:39 +0000 (11:48 +0000)]
0.9.18.19: oops, tests hang!
 * Something wrong with stepping, make it at least finish the tests.

17 years ago0.9.18.18: SAVE-LISP-AND-DIE vs multiple threads
Nikodemus Siivola [Mon, 30 Oct 2006 11:15:03 +0000 (11:15 +0000)]
0.9.18.18: SAVE-LISP-AND-DIE vs multiple threads
 * Check that only a single thread exists after *SAVE-HOOKS* have been
   run -- or signal an error.

17 years ago0.9.18.17: Hyperbolic functions for Win32
Nikodemus Siivola [Mon, 30 Oct 2006 10:53:45 +0000 (10:53 +0000)]
0.9.18.17: Hyperbolic functions for Win32
 * Lisp-side definitions for %TANH, %ASINH, %ACOSH, and %ATANH.
 * One sequence test tweaked to make it run on Windows.

17 years ago0.9.18.16: disassembly of funcallable instances
Nikodemus Siivola [Mon, 30 Oct 2006 08:11:49 +0000 (08:11 +0000)]
0.9.18.16: disassembly of funcallable instances
 * Pull out the funcallable-instance-fun using %FUN-FUN.
 * Test.

17 years ago0.9.18.15: fix adjust-array :fill-pointer buglet, plus housekeeping
Nikodemus Siivola [Sun, 29 Oct 2006 21:05:58 +0000 (21:05 +0000)]
0.9.18.15: fix adjust-array :fill-pointer buglet, plus housekeeping
 * Reported by Lars Brinkhoff: "An error of type error is signaled if
   fill-pointer is supplied and non-nil but array has no fill pointer."
 * Test-case.
 * Improve the localtime/gmtime KLUDGE for Windows: instead of
   flipping the sign of time, use zero -- still arbitrary, but
   slightly less so. "Where there timezones before 1970, geez!"
 * Oops! Broken test-case from 0.9.18.12 fixed.

17 years ago0.9.18.14:
Thiemo Seufer [Sun, 29 Oct 2006 20:19:27 +0000 (20:19 +0000)]
0.9.18.14:
Define CAUSEF_BD in the file, Linux 2.6.18 stopped exporting
the define.

17 years ago0.9.18.13:
Thiemo Seufer [Sun, 29 Oct 2006 20:14:26 +0000 (20:14 +0000)]
0.9.18.13:
More .cvsignores.

17 years ago0.9.18.12: valid/already-dumped confusion in the file compiler/
Nikodemus Siivola [Sun, 29 Oct 2006 19:44:45 +0000 (19:44 +0000)]
0.9.18.12: valid/already-dumped confusion in the file compiler/
 * A constant is not already dumped just because it is in the valid
   table.
 * Fopcompiler was validating the wrong object occasionally.
   Unfortunately the *DUMP-ONLY-VALID-STRUCTURES* binding still
   needed. Couple of FIXME's pertaining to that added.
 * Useless WHEN in EMIT-MAKE-LOAD-FORM deleted.
 * Record a bug.

17 years ago0.9.18.11: whitespace
Nikodemus Siivola [Sat, 28 Oct 2006 09:57:00 +0000 (09:57 +0000)]
0.9.18.11: whitespace
 * Undo whitespace damage from Window commits.

17 years ago0.9.18.11: Remove unused (probably wrong) definition of malloc from sb-bsd-sockets
Andreas Fuchs [Fri, 27 Oct 2006 21:44:42 +0000 (21:44 +0000)]
0.9.18.11: Remove unused (probably wrong) definition of malloc from sb-bsd-sockets

17 years ago0.9.18.10: Win32 get_timezone robustness
Nikodemus Siivola [Thu, 26 Oct 2006 16:17:15 +0000 (16:17 +0000)]
0.9.18.10: Win32 get_timezone robustness
 * Windows localtime & gmtime functions don't like negative times.

17 years ago0.9.18.9: Pathname Love on Win32
Nikodemus Siivola [Thu, 26 Oct 2006 16:07:52 +0000 (16:07 +0000)]
0.9.18.9: Pathname Love on Win32
 * Namestring simplification (was UNIX-SIMPLIFY-PATHNAME) is now
   function of the host. Shamelessly cargo-culted Win32 version from
   the Unix version.
 * Kludged %ENUMERATE-DIRECTORIES to work with :WILD-INFERIORS on
   Win32.
 * Fix UNPARSE-NATIVE-WIN32-NAMESTRING to handle #P"X:\\FOO" case
   correctly. ("X:\\FOO", not "X:\\\\FOO")
 * Missing NEWS entry for 0.9.18.8.
 * Correct order of arguments to MERGE-PATHNAMES in SYSINIT-PATHNAME.
 * Couple of WITH-TEST additions to test-suite.

17 years ago0.9.18.8: LET* and VALUES declaration
Nikodemus Siivola [Thu, 26 Oct 2006 11:37:56 +0000 (11:37 +0000)]
0.9.18.8: LET* and VALUES declaration
 * Wrong arguments to PROCESSING-DECLARATIONS in the LET*
   ir1-translator.
 * Test-case.

17 years ago0.9.18.7: Win32 RUN-PROGRAM :WAIT T tweak
Nikodemus Siivola [Thu, 26 Oct 2006 10:29:47 +0000 (10:29 +0000)]
0.9.18.7: Win32 RUN-PROGRAM :WAIT T tweak
 * Only -1 as result means the spawn failed: other negative
   return values are error codes.

17 years ago0.9.18.6: Win32 get-internal-real-time improved
Nikodemus Siivola [Thu, 26 Oct 2006 08:38:49 +0000 (08:38 +0000)]
0.9.18.6: Win32 get-internal-real-time improved
 * The old version was accurate only to the second, new one gets
   milliseconds right.
 * Move unix/win32 implementation bodies of GET-INTERNAL-*-TIME to
   unix.lisp and win32.lisp (less conditionalization).
 * Move *GC-RUN-TIME* zeroing to GC-REINIT.
 * Initialize the system epoch to start time, not to time of first
   call to GET-INTERNAL-REAL-TIME, document system epoch in
   GET-INTERNAL-REAL-TIME.
 * Sort the stub function calls in src/runtime/win32.c nicely.

17 years ago0.9.18.5: Support DISASSEMBLE for interpreted functions.
Brian Downing [Thu, 26 Oct 2006 04:26:20 +0000 (04:26 +0000)]
0.9.18.5:  Support DISASSEMBLE for interpreted functions.
  * Support DISASSEMBLE for interpreted functions, by compiling (but
    not installing) the function beforehand.
  * Add tests to interface.impure.lisp for the above.

17 years ago0.9.18.4: Fix non-x86 builds.
Brian Downing [Thu, 26 Oct 2006 03:55:20 +0000 (03:55 +0000)]
0.9.18.4:  Fix non-x86 builds.
  * Make :precision :53-bit in *saved-floating-point-modes*
    conditional upon #!+x86.

17 years ago0.9.18.3: Canonicalize whitespace.
Brian Downing [Thu, 26 Oct 2006 03:22:21 +0000 (03:22 +0000)]
0.9.18.3:  Canonicalize whitespace.

17 years ago0.9.18.2: Win32 exceptions
Nikodemus Siivola [Wed, 25 Oct 2006 17:07:53 +0000 (17:07 +0000)]
0.9.18.2: Win32 exceptions
 * Floating point exceptions.
 * Stack exhaustion exception.
 * Rename FIND-INTERRUPTED-NAME to FIND-INTERRUPTED-NAME-AND-FRAME.
 * Commentary (questionary?) on the Win32 exception magic.
 * More groveling.

 Alert: grovel-headers.c/defconstant uses now unsigned long, not long.
 Works on Linux/x86, Win32, and Darwin/ppc. If breaks elsewhere then
 define_signed_const and define_unsigned_const needed.

17 years ago0.9.18.1: Small floating point related tweaks
Nikodemus Siivola [Wed, 25 Oct 2006 16:24:43 +0000 (16:24 +0000)]
0.9.18.1: Small floating point related tweaks
 * Introduce FLOAT-COLD-INIT-OR-REINIT fixing a couple of
   COLD-INIT/REINIT FIXME's for more OAOO.
 * Save floating point modes in core, and restore them on startup.
 * Move SET/GET-FLOATING-POINT-MODES documentation from comments to
   docstrings.

17 years ago0.9.18:
William Harold Newman [Wed, 25 Oct 2006 14:58:40 +0000 (14:58 +0000)]
0.9.18:
release, will be tagged as sbcl_0_9_18

17 years ago0.9.17.18: fix windows build, MAKE-ALIEN compiler note muffled fully
Nikodemus Siivola [Mon, 23 Oct 2006 13:45:51 +0000 (13:45 +0000)]
0.9.17.18: fix windows build, MAKE-ALIEN compiler note muffled fully
 * Win32 build needs MAKE-ALIEN much earlier then other platforms,
   so restore MAKE-ALIEN to its old place in target-alieneval.lisp,
   and muffle the %SAP-ALIEN note from there unconditionally.

17 years ago0.9.17.17:
Brian Downing [Sat, 21 Oct 2006 07:23:13 +0000 (07:23 +0000)]
0.9.17.17:
  * Support INTERPRETED-FUNCTIONs in SB-INTROSPECT:FUNCTION-ARGLIST.
    Problem reported by <baronsamdi@verizon.net>.

17 years ago0.9.17.16:
Nathan Froyd [Thu, 19 Oct 2006 02:06:12 +0000 (02:06 +0000)]
0.9.17.16:
Delete dead checked-cell-ref VOP in x86oid backends.

17 years ago0.9.17.15: silence %SAP-ALIEN compiler-note for MAKE-ALIEN in default policy
Nikodemus Siivola [Wed, 18 Oct 2006 13:59:21 +0000 (13:59 +0000)]
0.9.17.15: silence %SAP-ALIEN compiler-note for MAKE-ALIEN in default policy
 * Uses of MAKE-ALIEN are a common source of unavoidable notes about
   unoptimized %SAP-ALIEN, which only serve to mask the ones the user
   can do something about.

17 years ago0.9.17.14:
William Harold Newman [Wed, 18 Oct 2006 13:47:06 +0000 (13:47 +0000)]
0.9.17.14:
a bit of OAOOification in the way tests/run-tests.sh code
invokes SBCL, so that now it consistently ignores
.sbclrc again, so tests succeed even when .sbclrc
contains (BREAK)

17 years ago0.9.17.13: SB-POSIX:CFSET*SPEED, SB-POSIX:CFGET*SPEED, and related constants
Nikodemus Siivola [Wed, 18 Oct 2006 11:42:26 +0000 (11:42 +0000)]
0.9.17.13: SB-POSIX:CFSET*SPEED, SB-POSIX:CFGET*SPEED, and related constants
  * Patch by Max-Gerd Retzlaff. cfsetspeed left out as non-portable,
    cfgetispeed and cfgetospeed added.
  * Tests -- which have not been properly run, and aren't run as part
    of the SB-POSIX suite, since they require serial port access.

17 years ago0.9.17.12: restore win32 and x86-darwin buildability
Nikodemus Siivola [Mon, 9 Oct 2006 16:53:35 +0000 (16:53 +0000)]
0.9.17.12: restore win32 and x86-darwin buildability
 * trivial assembler directive fixes

17 years ago0.9.17.11:
Christophe Rhodes [Mon, 9 Oct 2006 14:56:43 +0000 (14:56 +0000)]
0.9.17.11:
Scribble some notes on funcallable instances before I forget.

17 years ago0.9.17.10: async unwind for specials
Gabor Melis [Fri, 6 Oct 2006 11:44:20 +0000 (11:44 +0000)]
0.9.17.10: async unwind for specials
  * in UNBIND zero the symbol before the value
  * in UNBIND-TO-HERE zero the value even if the symbol is zero

17 years ago0.9.17.9:
Christophe Rhodes [Fri, 6 Oct 2006 11:24:47 +0000 (11:24 +0000)]
0.9.17.9:
One missing include directive which got through the net.

17 years ago0.9.17.8:
Christophe Rhodes [Fri, 6 Oct 2006 10:54:09 +0000 (10:54 +0000)]
0.9.17.8:
MORE THREADSAFE FUNCALLABLE-INSTANCE
... in a threaded world, we can't set the function and lexenv
of a funcallable instance separately, because some other
thread might inconveniently funcall the object 'twixt
the one and the other.
... instead, make the funcallable-instance-function a
fully-fledged slot, and give a funcallable-instance a
trampoline which knows how to call it.
... which means implementing this strategy for $n$
architectures.  Tested on x86, x86-64, ppc, alpha and
sparc; completely untested on mips, and unimplemented
on hppa.

This removes some of the complexity in calling closures (the
closure-self slot is now redundant, as is the extra
indirection).  Other miscellaneous fixes:
* extract-fun-type worked only by accident;
* new magic :init :funcallable-instance-tramp for primitive
  objects
* verify_space() need no longer worry its little brain about
  undefined_tramp and closure_tramp (I think)
* test case for threaded funcallable-instance interaction.

17 years ago0.9.17.7:
Juho Snellman [Mon, 2 Oct 2006 14:43:16 +0000 (14:43 +0000)]
0.9.17.7:
        Implementation of STEP-OUT was completely bogus.

        * Only do the *STEP-OUT* binding / handling only around the STEP-INTO
          branch in the step-around wrapper, not around the STEP-NEXT /
          CONTINUE / OUT branch.
        * Detect attempts to STEP-OUT when there is no matching STEP-IN
          also in STEP-FORM, not just in the debugger repl
        * Test

17 years ago0.9.17.6:
Juho Snellman [Mon, 2 Oct 2006 13:43:19 +0000 (13:43 +0000)]
0.9.17.6:
        Cleanup.

        * Fix formatting of sub-items in 0.9.17 NEWS (thanks to Kevin Reid)
        * gc.lisp whitespace canonicalization

17 years ago0.9.17.5:
Juho Snellman [Mon, 2 Oct 2006 11:34:30 +0000 (11:34 +0000)]
0.9.17.5:
        The debugger tends to not show all variables regardless of the
        optimization policy. Fix the most common reason for that happening.

        * When compiling with a high debug quality, don't do substitution for
          variables that are only used once.
        * Except for variables introduced in DEFTRANSFORM inline
          lambdas, since they're not going to very interesting for the
          debugger.

17 years ago0.9.17.5:
Juho Snellman [Mon, 2 Oct 2006 11:34:25 +0000 (11:34 +0000)]
0.9.17.5:
        The debugger tends to not show all variables regardless of the
        optimization policy. Fix the most common reason for that happening.

        * When compiling with a high debug quality, don't do substitution for
          variables that are only used once.
        * Except for variables introduced in DEFTRANSFORM inline
          lambdas, since they're not going to very interesting for the
          debugger.

17 years ago0.9.17.4:
Juho Snellman [Mon, 2 Oct 2006 06:38:35 +0000 (06:38 +0000)]
0.9.17.4:
Fix the STORE-VALUE restart for CHECK-TYPE on non-variable places
        (DO considered harmful).

17 years ago0.9.17.3:
Juho Snellman [Mon, 2 Oct 2006 05:15:44 +0000 (05:15 +0000)]
0.9.17.3:
Fix negation of character-set types (reported by Anton Kazennikov
        on comp.lang.lisp).

17 years ago0.9.17.2: fix two potential GC deadlocks
Nikodemus Siivola [Wed, 27 Sep 2006 11:03:17 +0000 (11:03 +0000)]
0.9.17.2: fix two potential GC deadlocks
 * Dying threads used to grab session and all-threads locks
   with GC inhibited, which was bad:
    1. T1 has the lock, GC not inhibited
       T2 in HANDLE-THREAD-EXIT waiting for the lock, GC inhibited
    2. GC is triggered
    3. T1 stopped while holding the lock
       T2 deadlocks waiting for T1 to release the lock.
 * Mark threads dead while holding the *ALL-THREADS-LOCK*, so that
     (unless (thread-alive-p th)
       (assert (not (member th (list-all-threads)))))
   cannot fail.
 * Since dying threads can now trigger GCs, don't run after-gc hooks
   and finalizers if the thread has been marked as dead.
 * Move all thread cleanup logic to HANDLE-THREAD exit.

17 years ago0.9.17.1:
Thiemo Seufer [Tue, 26 Sep 2006 23:10:02 +0000 (23:10 +0000)]
0.9.17.1:
Improve thread safety.

17 years ago0.9.17:
William Harold Newman [Tue, 26 Sep 2006 17:26:55 +0000 (17:26 +0000)]
0.9.17:
release, will be tagged as sbcl_0_9_17

17 years ago0.9.16.46:
Juho Snellman [Sun, 24 Sep 2006 15:47:27 +0000 (15:47 +0000)]
0.9.16.46:
        Fix regressions:

        * Installation was broken with non-bash /bin/sh (thanks to
          Niimi Satoshi for the patch)
        * DEFAULT-EXTERNAL-FORMAT would now try to print a warning for
          an invalid external format before streams had been initialized,
          causing an infinite error loop (reported by Hannu Koivisto).
          Temporary fix is just not printing the warning, a better fix
          will wait until after the freeze.
        * Also stop autodetecting the external format from the locale
          on non-unicode builds. Having a default external format that's
          incompatible with CHARACTER doesn't seem very sensible, especially
          now that the external formats are also used for SB-ALIEN:C-STRING
          instead of just streams.

17 years ago0.9.16.45:
Juho Snellman [Wed, 20 Sep 2006 18:18:19 +0000 (18:18 +0000)]
0.9.16.45:
        Fix building with CMUCL (typo in the name of an IGNOREd variable
        in !DEFSTRUCT-WITH-ALTERNATE-METACLASS).

17 years ago0.9.16.44:
Juho Snellman [Wed, 20 Sep 2006 18:05:02 +0000 (18:05 +0000)]
0.9.16.44:
        Stepper tweaks:

        * Inhibit stepping while calling the stepper hook.
        * Make the body of STEP steppable
        * Signal a STEP-FINISHED-CONDITION when STEP returns

17 years ago0.9.16.43:
Juho Snellman [Wed, 20 Sep 2006 15:04:48 +0000 (15:04 +0000)]
0.9.16.43:
        Switch to using the more accurate method of determining
        *STEP-FRAME* on x86/x86-64 where SIGNAL-CONTEXT-FRAME works.
        Retain the previous kludge on non-x86, where SIGNAL-CONTEXT-FRAME
        seems to be completely broken.

17 years ago0.9.16.42:
Juho Snellman [Wed, 20 Sep 2006 14:50:40 +0000 (14:50 +0000)]
0.9.16.42:
        Always update TN-CURRENT-CONFLICT after the innermost loop of
        PROPAGATE-LIVE-TNS has found a match, and not just every time
        it converts a :READ conflict to a :LIVE conflict. This avoids
        useless travelsals over the tnwise global-conflicts chain, speeding
        up compilation when there are lots of global conflicts (for
        example on (DEBUG 3)). Thanks to David Lichteblau.

17 years ago0.9.16.41:
Juho Snellman [Wed, 20 Sep 2006 12:08:22 +0000 (12:08 +0000)]
0.9.16.41:
        More win32 fixes.  (Thanks to Yaroslav Kavenchuk: sbcl-devel
        "win32 regression" on 2006-09-18 and "merge-pathnames on
        win32" on 2006-09-19)

        * Double the size of the string buffers given to syscalls on
          sb-unicode, since the data is going to be in UCS-2 instead of
          some single-octet encoding
        * Fix the code for finding the system-wide sbclrc
        * Whitespace

17 years ago0.9.16.40:
Juho Snellman [Tue, 19 Sep 2006 23:38:32 +0000 (23:38 +0000)]
0.9.16.40:
Don't do permutation vector optimization for SLOT-VALUE on method
        parameters that are SETQd [see the test ((:setq :method-parameter)
        slot-value) in clos.impure.lisp].

        * WALK-METHOD-LAMBDA detects parameters whose bindings are modified,
          and returns them as a list
        * MAKE-METHOD-LAMBDA-INTERNAL adds a symbol-macrolet
          %PARAMETER-BINDING-MODIFIED with that list as a value around
          the method body
        * OPTIMIZED-SLOT-VALUE and friends no longer directly return the
          optimized form when the method is being walked, but a macro
          that expands to either the optimized or unoptimized form, based
          on %PARAMETER-BINDING-MODIFIED
        * As a side effect, SETQ-P becomes a little more accurate

17 years ago0.9.16.39:
Juho Snellman [Tue, 19 Sep 2006 21:35:33 +0000 (21:35 +0000)]
0.9.16.39:
        Oops, unblock interrupts while handling a single-stepper trap. Fixes
        GC deadlocks while using the stepper in Slime on a threaded
        SBCL.

17 years ago0.9.16.38:
Juho Snellman [Mon, 18 Sep 2006 20:09:13 +0000 (20:09 +0000)]
0.9.16.38:
        Rewrite the single-stepper to solve the compilation/run-time
        performance and type-inference inaccuracy problems with the old
        approach. Also make some UI improvements to the stepper.

        * The IR1 stage no longer instruments the code. Instead it
          only detects function call forms which should (according to
          the policy) be steppable, and records a string
          representation of those forms in the matching combination
          nodes (to be stored in the debug-info).
        * Modify the function call vops to emit some instrumentation just
          before the actual call happens. This will check either the
          symbol-value of *STEPPING* (unithreaded) or the new STEPPING
          slot of threads (multithreaded) and trap if it's true. The
          trap handler will replace the closure / fdefn that was about
          to be called with a wrapper, which will signal a stepper
          condition and then call the original function.
        * Emit a similar bit of instrumentation before any call that
          got optimized to a simple VOP. The difference is that the
          only thing that the trap handler will do is to directly
          signal the condition.
        * The necessary VOP / runtime changes have only been done on
          x86, x86-64 and ppc so far. Alpha, Mips and Sparc should
          still compile, but the stepper won't work there.
        * Remove the old single-stepper REPL, and instead integrate the
          stepper into the debugger.
        * Add STEP-OUT functionality (stop stepping temporarily,
          resuming it once the current function returns).

17 years ago0.9.16.37:
Christophe Rhodes [Mon, 18 Sep 2006 14:26:49 +0000 (14:26 +0000)]
0.9.16.37:
Minor fixups
... fix building on x86-64 (delete some extra parens...)
... make funcallable-standard-objects (including generic
functions) properly inspectable again, after the
change of the superclasses' order.

17 years ago0.9.16.36:
Juho Snellman [Mon, 18 Sep 2006 11:28:05 +0000 (11:28 +0000)]
0.9.16.36:
        Oops, fix minor bug introduced in .35: #+sb-unicode -> #!+sb-unicode

17 years ago0.9.16.35:
Juho Snellman [Sun, 17 Sep 2006 09:50:00 +0000 (09:50 +0000)]
0.9.16.35:
        Merge sbcl-devel "some reconstruction of win32 and others", 2006-09-10
        by Yaroslav Kavenchuk.

        * Replace manual external-format conversions in various SB-WIN32
          internals with alien external-formats.
        * Implement MACHINE-INSTANCE and SOFTWARE-VERSION.

17 years ago0.9.16.34:
Nathan Froyd [Sun, 17 Sep 2006 02:31:13 +0000 (02:31 +0000)]
0.9.16.34:
Improve code generation for LOGTEST on x86.

* Use the logic the fixnum test VOPs use for emitting small TEST
  instructions in the LOGTEST VOPs as well;
* Change {ODD,EVEN}P source transforms to use LOGTEST.

17 years ago0.9.16.33:
Nathan Froyd [Sun, 17 Sep 2006 02:26:41 +0000 (02:26 +0000)]
0.9.16.33:
Micro-optimize keyword argument parsing on x86 and x86-64.

* Change %MORE-ARG to take a negative offset, so we can perform
  the negation once outside the parsing loop instead of twice
  each time through the loop;
* Combine the retrieval of the keyword and its associated value
  into a single VOP, so we can take advantage of base+index+disp
  addressing.

17 years ago0.9.16.32: weak hash tables
Gabor Melis [Fri, 15 Sep 2006 14:39:44 +0000 (14:39 +0000)]
0.9.16.32: weak hash tables
  The implementation is based on cmucl's weak hash table code.

  * scav_vector defers scavenging of weak hash tables until ...

  * ... newspace scavenging at which time the deferred weak hash
    tables are scavenged according to their WEAKNESS type (this
    happens after each scan of newspace)

  * finally just before weak pointers are scanned (i.e. with the
    purpose of breaking them) the weak hash tables are scanned (i.e.
    the appropriate entries are removed) too.

17 years ago0.9.16.31:
Christophe Rhodes [Fri, 15 Sep 2006 08:23:31 +0000 (08:23 +0000)]
0.9.16.31:
Belatedly add a test for the primitive-type / intersection-type
confusion.

17 years ago0.9.16.30:
Christophe Rhodes [Thu, 14 Sep 2006 21:10:44 +0000 (21:10 +0000)]
0.9.16.30:
A couple of type-system fixups for #+sb-eval
... we have to have sb-eval:interpreted-function defined
on the host, so that the deftype for COMPILED-FUNCTION
does not involve any unknown types.  So
... make !defstruct-with-alternate-metaclass compilable by the
host compiler, similarly to sb-xc:defstruct.  Don't
quite do it properly: put a FIXME note in for posterity.
... move early-full-eval.lisp earlier in the build, and split
out the definition for compiled-function from
deftypes-for-target to late-deftypes-for-target (after
the interpreted-function class is defined)

... (declare (type compiled-function x)) should do a type check
for compiled-function, not for simply FUNCTION.
... the problem was actually in PRIMITIVE-TYPE on intersection
types; the computation was fairly bogus.  Make it less
bogus.

... also delete some stale classoid symbols.

17 years ago0.9.16.29:
Juho Snellman [Wed, 13 Sep 2006 21:37:28 +0000 (21:37 +0000)]
0.9.16.29:
        The new timer.impure test added in 0.9.16.21 uncovered some
        completely unrelated problems in a different test. Multiple
        simultaneous FIND-SYMBOLs on the same package could cause the
        package to become corrupted in a way that would cause further
        accesses to it to loop infinitely. This seems a bit harsh.

* Remove the optimization (moving the table from which a
          symbol was found to the front of the package's table list)
          which was causing this problem. It didn't seem to have much
          of an performance effect anyway.
        * Fix the test that was accidentally triggering this bug and
          add a new test specifically for it.

17 years ago0.9.16.28:
Nathan Froyd [Wed, 13 Sep 2006 17:30:28 +0000 (17:30 +0000)]
0.9.16.28:
Shorten pseudo-atomic sequence on x86 and x86-64.

Do this by combining *pseudo-atomic-{atomic,interrupted}* into
  a single variable, *pseudo-atomic-bits*, which is a fixnum
  bitmask where bit 0 denotes atomic-ness and bit 1 denotes
  interruptedness.
* Change genesis to initialize this variable properly (this
  didn't need to be done for the old variables because the
  allocation sequences would set them upon entrance);
* Modify functions and macros accessing pseudo-atomic variables
  to reflect the new state of the world;

17 years ago0.9.16.27:
Juho Snellman [Wed, 13 Sep 2006 15:59:31 +0000 (15:59 +0000)]
0.9.16.27:
        Add an interpreting EVAL, for cases where the compiler is
        unsuitable due to e.g. compilation overhead.

        * The old EVAL is still the default. To use the new one,
          (SETF SB-EXT:*EVALUATOR-MODE* :INTERPRET).

          Making the interpreter the default might be the purer
          choice, since there's a standard way of ensuring that code
          is compiled, and no standard way of ensuring that it's
          not. On the other hand, there are practical reasons for
          keeping the compiler as the default. The interpreter is very
          slow, doesn't have proper debugger support (either for
          backtraces or inspecting frames), and it doesn't have
          stepper support.

        * The interpreter doesn't treat THE or type declarations for
          lexical variables as assertions. The regression tests that
          assume otherwise have been disabled when running in
          interpreted mode. The intepreter will however type-check the
          proclaimed types of specials.

17 years ago0.9.16.26:
William Harold Newman [Tue, 12 Sep 2006 13:11:46 +0000 (13:11 +0000)]
0.9.16.26:
memory crutch for middle-aged maintainers: repeated NS's
explanation in 0.9.16.25 commit message as comment
above the change

17 years ago0.9.16.25: build fix for CMUCL and older SBCLs
Nikodemus Siivola [Tue, 12 Sep 2006 09:08:49 +0000 (09:08 +0000)]
0.9.16.25: build fix for CMUCL and older SBCLs
 * Not all lisps are happy about SETF-compiler macros: CMUCL 19 does not accept
   them at all, and older SBCL's give a full warning.

17 years ago0.9.16.24: (SETF INFO) compiler macro enabled
Nikodemus Siivola [Mon, 11 Sep 2006 10:40:07 +0000 (10:40 +0000)]
0.9.16.24: (SETF INFO) compiler macro enabled
 * Since we now support SETF compiler-macros. Unfortunately the
   definition comes too late to affect large parts of SBCL -- but the
   same applies to the venerable compiler-macro for INFO.
 * Use KEYWORDP instead of CONSTANTP in these macros, as that (or
   self-evaluating-p) is what is actually ment -- no EVAL or
   CONSTANT-FORM-VALUE in sight.

17 years ago0.9.16.23:
Juho Snellman [Sat, 9 Sep 2006 08:00:03 +0000 (08:00 +0000)]
0.9.16.23:
One more simple-base-string -> simple-string substitution in
        the pathname code (pointed out by Yaroslav Kavenchuk on
        sbcl-devel).

17 years ago0.9.16.22:
William Harold Newman [Fri, 8 Sep 2006 14:35:21 +0000 (14:35 +0000)]
0.9.16.22:
logged bug
tiny comment typo fix

17 years ago0.9.16.21: small fixes and cleanups
Nikodemus Siivola [Thu, 7 Sep 2006 08:49:38 +0000 (08:49 +0000)]
0.9.16.21: small fixes and cleanups
 * timers expiring in dead thread no longer cause a TYPE-ERROR.
   Reported by Paul "Nonny Mouse" on sbcl-devel.
 * ASDF-INSTALL uses GNU tar on Solaris. From patch by Josip Gracin.
 * Unnecessary conditional in RUN-PROGRAM on Win32. Reported by Yaroslav
   Kavenchuck.
 * Use cut from index 1, not 0 in find-gnumake.sh. Reported by Harald
   Hanche-Olsen.

17 years ago0.9.16.20:
Juho Snellman [Thu, 7 Sep 2006 01:58:12 +0000 (01:58 +0000)]
0.9.16.20:
Some win32 cleanups (patch by Jack Unrue on sbcl-devel, 2006-08-31).

        * Replace remaining calls to perror() with fprintf(stderr, ...,
          GetLastError()) since errno is not set by Win32 API calls.
        * Disable debug output from os_map().

17 years ago0.9.16.19:
Juho Snellman [Thu, 7 Sep 2006 01:33:17 +0000 (01:33 +0000)]
0.9.16.19:
Add special-case for SB-INT:FIND-UNDELETED-PACKAGE-OR-LOSE in the
        fop-compiler, to make it use a FOP-PACKAGE fop instead of a
        longer FOP-FUNCALL sequence. (Patch by Alastair Bridgewater,
        sbcl-devel "Small fopcompiler hack" on 2006-08-22).

17 years ago0.9.16.18:
Juho Snellman [Thu, 7 Sep 2006 00:56:59 +0000 (00:56 +0000)]
0.9.16.18:
Fix installation into directories with spaces (reported by Edi
Weitz on sbcl-help).

17 years ago0.9.16.17:
Juho Snellman [Wed, 6 Sep 2006 20:27:09 +0000 (20:27 +0000)]
0.9.16.17:
Support for external formats in SB-ALIEN. The C-STRING alien-type
        specifier now accepts :EXTERNAL-FORMAT and :ELEMENT-TYPE parameters.
        This is a slightly incompatible change: to get the behaviour of
        the old C-STRING alien-type, use (C-STRING :EXTERNAL-FORMAT :ASCII
        :ELEMENT-TYPE BASE-CHAR).

        Thanks to Yaroslav Kavenchuk for doing most of the work on this.

        * Also add support for non-ascii pathnames
        * Add some recent CONTRIBUTORS
        * Update INSTALL
        * Add argument quote/space escaping to RUN-PROGRAM on win32

17 years ago0.9.16.16:
Juho Snellman [Sun, 3 Sep 2006 01:55:03 +0000 (01:55 +0000)]
0.9.16.16:
        Add bsd tar support to ASDF-INSTALL (patch by "bsd1628", sbcl-devel
        "Changes to ASDf-INSTALL to support NetBSD tar" on 2006-08-04).

17 years ago0.9.16.15: stamp down on warnings due to step instrumentation
Nikodemus Siivola [Sat, 2 Sep 2006 11:38:23 +0000 (11:38 +0000)]
0.9.16.15: stamp down on warnings due to step instrumentation
 * CALL-NEXT-METHOD body compiled without step-instumentation.
 * Get rid of the FAST-NARROWED-EMF kludge, replace it with another
   one: in addition to INVOKE-EFFECTIVE-METHOD-FUNCTION we now also
   have INVOKE-NARROW-EFFECTIVE-METHOD-FUNCTION.
 * Test.

17 years ago0.9.16.14:
Juho Snellman [Sat, 2 Sep 2006 00:29:56 +0000 (00:29 +0000)]
0.9.16.14:
        Add support for Unix98-style ptys. (thanks to Sidney Markowitz)

17 years ago0.9.16.13:
Juho Snellman [Fri, 1 Sep 2006 23:03:57 +0000 (23:03 +0000)]
0.9.16.13:
        Remove the horribly thread-unsafe globaldb caches. Both of them.

        * Makes single globaldb accesses significantly slower (about
          50% slowdown), but for any normal use-cases this is completely
          lost in the noise
        * Add a test

17 years ago0.9.16.12:
Christophe Rhodes [Fri, 1 Sep 2006 16:08:31 +0000 (16:08 +0000)]
0.9.16.12:
Whoops.  Commit extremely late printing code for
reference-condition with reference :amop :function ... (used in
unset funcallable-instance functions).  Also include
:amop :reader, as yet unused.

17 years ago0.9.16.11:
Christophe Rhodes [Fri, 1 Sep 2006 15:32:21 +0000 (15:32 +0000)]
0.9.16.11:
Give funcallable-standard-object the direct superclasses
(function standard-object), to make generic-function have a
superclass list in accord with CLHS 1.4.4.5.  This deviation
from AMOP is compatible with Lispworks and CLISP.

17 years ago0.9.16.10:
Christophe Rhodes [Fri, 1 Sep 2006 14:57:29 +0000 (14:57 +0000)]
0.9.16.10:
Massage the new ARRAY :SIMPLE-UNION2 type method into a little
bit more of acceptability.
... now (or simple-string simple-array) is the same as
(or simple-array simple-string)
... really quite complicated unions still seem to work, judging
by ETYPECASE.15 and SUBTYPEP.OR.4
... include some simple test cases.

17 years ago0.9.16.9:
Gabor Melis [Fri, 1 Sep 2006 10:53:45 +0000 (10:53 +0000)]
0.9.16.9:
  * raw slots are of type lispobj instead of long for the sake of
    alpha

17 years ago0.9.16.8: less conservatism
Gabor Melis [Fri, 1 Sep 2006 10:32:27 +0000 (10:32 +0000)]
0.9.16.8: less conservatism
  * the word at control_stack_end is not part of the control stack and
    not a pointer to be preserved
  * similarly, don't preserve the first word after the interrupt context

17 years ago0.9.16.7: renamed ppc-darwin-{langinfo,dlshim} to
Cyrus Harmon [Thu, 31 Aug 2006 07:48:06 +0000 (07:48 +0000)]
0.9.16.7: renamed ppc-darwin-{langinfo,dlshim} to
       darwin-{langinfo,dlshim}
 * removed ppc-darwin-dlshim.{c,h}
 * removed ppc-darwin-langinfo.{c,h}
 * removed x86-darwin-langinfo.c
 * added darwin-dlshim.{c,h}
 * added darwin-langinfo.{c,h}
 * fixed references to these in Config.x86-darwin and
       Config.ppc-darwin
 * fixed references to these in grovel-headers.c

17 years ago0.9.16.6: better circularity detection in fasl dumper
Nikodemus Siivola [Tue, 29 Aug 2006 13:35:23 +0000 (13:35 +0000)]
0.9.16.6: better circularity detection in fasl dumper
 * We need to detect car-circularity too, which can get expensive, so
   we approximate: CYCLIC-LIST-P => MAYBE-CYCLIC-P
 * Reported by Marco Monteiro on sbcl-devel.

17 years ago0.9.16.5: clean up some unused symbols from SB-EXT (really)
Nikodemus Siivola [Mon, 28 Aug 2006 17:16:22 +0000 (17:16 +0000)]
0.9.16.5: clean up some unused symbols from SB-EXT (really)
 The missing package-data-list.lisp-expr changes from last commit.

 ETOOMANYCHERRIES