sbcl.git
17 years ago1.0.1.1:
Cyrus Harmon [Tue, 26 Dec 2006 23:10:22 +0000 (23:10 +0000)]
1.0.1.1:
    mach exception handlers for x86/macos

    Added experimental support for mach exception handling under
    x86/macos. To enable this, turn on the feature
    :mach-exception-handler at build time.

  * restructure args to sb-posix:define-call so that :largefile
    becomes :options :largefile and add a new :c-name keyword arg.
  * for #+mach-exception-handler builds, make sb-posix:fork
    reestablish the mach exception handling thread after forking.
  * add doc/internals-notes/mach-exception-handler-notes.
  * memory_fault_handler no longer static for BSD.
  * added mach_error_memory_fault_handler for unexpected memory
    faults.
  * #+mach-exception-handler thread changes to allocate and deallocate
    mach ports.
  * added protect_control_stack_{return_}guard_page_thread calls that
    take a thread argument
  * sigill_handler no longer static on x86.
  * mach exception handling code in x86-darwin-os.c. See
    doc/internals-notes/mach-exception-handler-notes for details.

17 years ago1.0.1:
William Harold Newman [Tue, 26 Dec 2006 14:57:44 +0000 (14:57 +0000)]
1.0.1:
release, will be tagged as sbcl_1_0_1

17 years ago1.0.0.36:
Christophe Rhodes [Wed, 20 Dec 2006 16:19:33 +0000 (16:19 +0000)]
1.0.0.36:
Fix the build on ppc/Darwin, with os_context_register_t typedef
and os_context_pc_addr function.

17 years ago1.0.0.35:
Christophe Rhodes [Wed, 20 Dec 2006 15:50:51 +0000 (15:50 +0000)]
1.0.0.35:
(belated addition of Gray streams examples file.  Whoops).

17 years ago1.0.0.35:
Christophe Rhodes [Wed, 20 Dec 2006 15:47:50 +0000 (15:47 +0000)]
1.0.0.35:
Patch from Richard M Kreuter improving the Gray streams
documentation.
... minor typo fixes from patch on sbcl-devel 2006-12-19.

17 years ago1.0.0.34: Fix build on Darwin/x86.
sa2c [Fri, 15 Dec 2006 14:54:52 +0000 (14:54 +0000)]
1.0.0.34: Fix build on Darwin/x86.

I moved typedef of os_context_register_t from bsd-os.h to
x86-bsd-os.h, but forgot to modify x86-darwin-os.h.

17 years ago1.0.0.33: update build environment
sa2c [Fri, 15 Dec 2006 03:28:36 +0000 (03:28 +0000)]
1.0.0.33: update build environment

.cvsignore: add more files
clean.sh: don't recurse into SCM directories
tools-for-build/canonicalize-whitespace: use more generic option to
check expand utility to make non-GNU expand happy
tools-for-build/whitespacely-canonical-filenames: add more SCM directories

17 years ago1.0.0.32: support for FreeBSD/x86-64
sa2c [Fri, 15 Dec 2006 02:57:52 +0000 (02:57 +0000)]
1.0.0.32: support for FreeBSD/x86-64

17 years ago1.0.0.31: pthread-futex: another pthread back-end of mutex
sa2c [Fri, 15 Dec 2006 01:48:59 +0000 (01:48 +0000)]
1.0.0.31: pthread-futex: another pthread back-end of mutex

An implementation of futex by pthread.  This is default back-end on
FreeBSD since pthread-lutex has some problems on these systems.

17 years ago1.0.0.30: Stability fix of threading on FreeBSD
sa2c [Fri, 15 Dec 2006 01:16:36 +0000 (01:16 +0000)]
1.0.0.30: Stability fix of threading on FreeBSD

Yield current thread on thread creation so that clean-up threads can
run.  This fixes some test failures on FreeBSD 7.

17 years ago1.0.0.29:
Christophe Rhodes [Thu, 14 Dec 2006 16:15:28 +0000 (16:15 +0000)]
1.0.0.29:
Whitespace

17 years ago1.0.0.28: more PCL cleanups
Nikodemus Siivola [Thu, 7 Dec 2006 12:51:25 +0000 (12:51 +0000)]
1.0.0.28: more PCL cleanups
  * WRAPPER-INSTANCE-SLOTS-LAYOUT and WRAPPER-CLASS-SLOTS are
    a null layer around corresponding %WRAPPER- accessors: rename
    the accessors without % and remove the macros.
  * CACHE-LOCK-COUNT unused, deleted.
  * WRAPPER-OF-MACRO redundant, removed. Use WRAPPER-OF.
  * new function MAKE-DFUN-REQUIRED-ARGS to factor out a shared
    idiom as per FIXME.
  * WITH-HASH-TABLE and WITH-EQ-HASH-TABLE removed: thread unsafe.
  * Commentary.

17 years ago1.0.0.27: various PCL cleanups in cache.lisp
Nikodemus Siivola [Thu, 7 Dec 2006 08:53:36 +0000 (08:53 +0000)]
1.0.0.27: various PCL cleanups in cache.lisp
  * ALLOCATE-CACHE-VECTOR was unused -- deleted
  * better GET-CACHE-VECTOR
  * don't bind VECTOR as a local function
  * drop a few useless (THE FIXNUM)s
  * use REMHASH to clear out OWRAPPER from *PREVIOUS-NWRAPPERS*
    instead of just setting its value to NIL.
  * inline COMPUTE-LINE-SIZE
  * WRAPPER-CACHE-NUMBER-VECTOR is identity macro -- deleted
  * commentary

17 years ago1.0.0.26:
Juho Snellman [Wed, 6 Dec 2006 08:04:21 +0000 (08:04 +0000)]
1.0.0.26:
        Purify also needs to know of the new function layout.

17 years ago1.0.0.25: fix win32 build
Nikodemus Siivola [Tue, 5 Dec 2006 22:48:11 +0000 (22:48 +0000)]
1.0.0.25: fix win32 build
 * Memory faults signalled differently on Windows -- and not using a
   separate condition yet.

17 years ago1.0.0.24:
Nathan Froyd [Tue, 5 Dec 2006 21:34:02 +0000 (21:34 +0000)]
1.0.0.24:
* Apply base+index addressing fix to x86-64's LISTIFY-REST-ARGS.
* Make dynamic-extent allocation on x86 slightly smaller
  (following x86-64's lead).

17 years ago1.0.0.23:
Nathan Froyd [Tue, 5 Dec 2006 20:10:25 +0000 (20:10 +0000)]
1.0.0.23:
Use more efficent base+index lea instruction in %LISTIFY-REST-ARGS.

17 years ago1.0.0.22: Extensible sequences. (EXPERIMENTAL: Do Not Use As Food)
Christophe Rhodes [Tue, 5 Dec 2006 17:50:18 +0000 (17:50 +0000)]
1.0.0.22: Extensible sequences.  (EXPERIMENTAL: Do Not Use As Food)
... a little bit of type system hackery, as usual; we can't
use hierarchical comparison on the newly non-sealed
classoid SEQUENCE because, well, its subclasses aren't
hierarchically arranged (take a bow, ARRAY).
... a certain amount of rearrangement of seq.lisp and related
source files; mostly, defining SEQ-DISPATCH to have
three branches rather than two, and writing trampoline
stubs.
... make CONSED-SEQUENCE understand that we can only be clever
about freshly-consed vectors.
... actually make DOVECTOR be like DOLIST, in having a tagbody,
being clever about the declarations, and so on.
... new SEQUENCEP function.
... new macro DOSEQUENCE (like DOVECTOR and DOLIST but for
sequences, used in one or two places)
... lotso &REST args for sequence functions, so fndb needed
reworking.  (The &REST args have dynamic extent and
are declared as such)
... change VALIDATE-SUPERCLASS to allow SEQUENCE as a
superclass.
... disable a couple of XC type tests.

Note: you don't get tests for this for two reasons: one, the
interface isn't stable (I'm hoping to get feedback), but more
importantly two, the tests that I have are a derived work of a
        GPL piece of software (the ansi-tests from GCL).  This situation
        will be rectified eventually.

        Feedback welcome.

17 years ago1.0.0.21: fix build on PPC -- breakage from XREF commit
Nikodemus Siivola [Tue, 5 Dec 2006 15:46:14 +0000 (15:46 +0000)]
1.0.0.21: fix build on PPC -- breakage from XREF commit
 * Less offset hardcoding in ppc-assem.S, missing xrefs "slot" in
   undefined_tramp and funcallable_instance_tramp.
 * Also adjust mips-assem.S and sparc-assem.S for the new simple-fun
   layout: add xrefs "slot" to undefined_tramp, closure_tramp, and
   funcallable_instance_tramp. UNTESTED!
 * Explain what the _OFFSETs are in generated header files.

17 years ago1.0.0.20: report address of memory faults
Nikodemus Siivola [Tue, 5 Dec 2006 15:27:22 +0000 (15:27 +0000)]
1.0.0.20: report address of memory faults
 * This is pretty much a stopgap implementation: if memory faults
   happen in multiple threads the race is on.

17 years ago1.0.0.19: unwinding from foreign exception frames when doing
Nikodemus Siivola [Tue, 5 Dec 2006 15:07:15 +0000 (15:07 +0000)]
1.0.0.19: unwinding from foreign exception frames when doing
          a non-local exit from alien code
 * Patch and test by Alastair Bridgewater.
 * Advertise our newfound stability in NEWS (since the stack-start
   patch).

17 years ago1.0.0.18:
Juho Snellman [Tue, 5 Dec 2006 04:35:55 +0000 (04:35 +0000)]
1.0.0.18:
        Add an xref facility, exported from sb-introspect.

        * Support who-calls/macroexpands/binds/sets/references, with
          full source path information for extra Slime-goodness.
        * Only causes relatively small amounts of compilation slowdown
          or fasl bloat, so enable it by default (unless (= SPEED 3)).
        * Does not handle: expanded compiler-macros, code in macrolet
          definition bodies, toplevel code
        * Xref data is currently stored in a new simple-fun slot (the
          FUN_RAW_ADDR mess has been cleaned up a little), in reverse
          format (that is, we store who-is-called rather than who-calls).
        * sb-introspect gets access to the simple-funs through the
          infodb, so each lookup requires looping through the whole
          db. This is snappy enough on my machine even with lots of
          code loaded, but some other storage strategy might be
          worth looking at later.

17 years ago1.0.0.17: ENOUGH-NAMESTRING relative to #p"/"
Nikodemus Siivola [Sun, 3 Dec 2006 19:53:51 +0000 (19:53 +0000)]
1.0.0.17: ENOUGH-NAMESTRING relative to #p"/"
 * bug report and patch by Marco Monteiro.
 * also change DESTRUCTURING-BIND to use &BODY instead of &REST for
   better autoindentation support. report and patch by Matt Pillsbury.
 * comment editing.

17 years ago1.0.0.16: fix SB-POSIX:READDIR to work when built with largefile
Nikodemus Siivola [Sun, 3 Dec 2006 15:24:08 +0000 (15:24 +0000)]
1.0.0.16: fix SB-POSIX:READDIR to work when built with largefile
  * amusingly, the dirent type returned changes name when largefile
    support is enabled.
  * whitespace damage.

17 years ago1.0.0.15: build fix & cleanup
Nikodemus Siivola [Sun, 3 Dec 2006 14:45:51 +0000 (14:45 +0000)]
1.0.0.15: build fix & cleanup
  * correct defknown for COMPILER-ERROR.
  * COMPILER-ABORT doesn't exist anymore.

17 years ago1.0.0.14: fix run-program.impure.lisp on OS X 10.4, new SB-POSIX test
Nikodemus Siivola [Sun, 3 Dec 2006 13:35:51 +0000 (13:35 +0000)]
1.0.0.14: fix run-program.impure.lisp on OS X 10.4, new SB-POSIX test
  * stdin and stdout are buffered if the process is not talking to
    a tty, use use :PTY. (thanks to Sidney Markowitz)
  * additional test using cat, which doesn't need the :PTY as cat
    is apparently agressive enough about flushing the buffers.
    (thanks to Nash Foster)
  * additional SB-POSIX test from Stefan Lang, currently failing.

17 years ago1.0.0.13: proper treatment of &whole and friends in ordinary lambda-lists
Nikodemus Siivola [Sun, 3 Dec 2006 12:02:52 +0000 (12:02 +0000)]
1.0.0.13: proper treatment of &whole and friends in ordinary lambda-lists
 * It is not clear the CLHS really prohibits them from being used as variables,
   but at least the error should not be a BUG. (reported by Berki Lukacs
   Tamas)

17 years ago1.0.0.12: fix docstrings.lisp to deal with unfinalized classes
Nikodemus Siivola [Sat, 2 Dec 2006 13:08:42 +0000 (13:08 +0000)]
1.0.0.12: fix docstrings.lisp to deal with unfinalized classes
  * needed since with the *max-emf-precumentation-methods* change
    classes like sb-bsd-socket:local-socket don't get finalized
    untill the first instance is created.

17 years ago1.0.0.11:
Christophe Rhodes [Fri, 1 Dec 2006 20:47:04 +0000 (20:47 +0000)]
1.0.0.11:
Fix for Pascal Costanza's issue over delay/force using a method
on SLOT-UNBOUND and recursion in accessors.
... safety nets?  We don't need no safety nets!
(also whitespace damage)

17 years ago1.0.0.10:
Juho Snellman [Fri, 1 Dec 2006 18:13:44 +0000 (18:13 +0000)]
1.0.0.10:
Set SB-PCL::*MAX-EMF-PRECOMPUTATION-METHODS* to a non-NIL value, to
        fix performance problems when loading generic functions with
        hundreds of methods. (Reported by Todd Sabin and Jeremy Brown)

        * Use a small value, rather than 100 as used in CMUCL, to flush
          out possible problems with doing a limited amount of precomputation.

17 years ago1.0.0.9:
Juho Snellman [Fri, 1 Dec 2006 17:23:19 +0000 (17:23 +0000)]
1.0.0.9:
Fix startup with an empty $HOME (reported by Peter Van Eynde).

17 years ago1.0.0.8:
Nathan Froyd [Fri, 1 Dec 2006 16:35:09 +0000 (16:35 +0000)]
1.0.0.8:
Elide array bounds checks when inlining the FIND and POSITION
  family of functions.

17 years ago1.0.0.7:
Juho Snellman [Fri, 1 Dec 2006 16:32:13 +0000 (16:32 +0000)]
1.0.0.7:
Fix an off-by-one in the x86-64 FIXNUMP/UNSIGNED-BYTE-64 VOP (patch
        from Lutz Euler).

17 years ago1.0.0.6:
Juho Snellman [Fri, 1 Dec 2006 16:26:22 +0000 (16:26 +0000)]
1.0.0.6:
        Fix a code path that was still using the old fast-method
        calling convention (reported by Pascal Costanza).

17 years ago1.0.0.5:
Juho Snellman [Fri, 1 Dec 2006 16:17:27 +0000 (16:17 +0000)]
1.0.0.5:
Make sb-sprof trace the call stack to an arbitrary depth on x86oids.

17 years ago1.0.0.4: tweak windows installer builder and html-distribution.sh
Nikodemus Siivola [Thu, 30 Nov 2006 17:20:54 +0000 (17:20 +0000)]
1.0.0.4: tweak windows installer builder and html-distribution.sh
 * Use an appropriate base to ENOUGH-NAMESTRING in the wxs.lisp.
 * Name the html tarball with -documentation-html.tar suffix.
 * Add SUPPORT file to HTML tarball.

17 years ago1.0.0.3: correct stack start addresses on Windows
Nikodemus Siivola [Thu, 30 Nov 2006 17:03:48 +0000 (17:03 +0000)]
1.0.0.3: correct stack start addresses on Windows
 * based on patch by Alastair Bridgewater.
 * add AB to initials glossary and sort it by initials.

17 years ago1.0.0.2: TRACE :ENCAPSULATE NIL, plus other minor Windows improvements
Nikodemus Siivola [Thu, 30 Nov 2006 16:20:41 +0000 (16:20 +0000)]
1.0.0.2: TRACE :ENCAPSULATE NIL, plus other minor Windows improvements
 * Function end breakpoints need single-stepping awareness in
   order to work -- fixes TRACE :ENCAPSULATE NIL on Windows.
 * Add more exception codes to grovel-headers.c, and recognize
   them in HANDLE-WIN32-EXCEPTION -- for now just signal a simple
   error with the exception name as the message,
 * Tweak test-suite to recognize backtrace idiosyncracies on Windows,
   and skip a test that would hang due to non-working timouts.

17 years ago1.0.0.1:
Juho Snellman [Thu, 30 Nov 2006 15:18:56 +0000 (15:18 +0000)]
1.0.0.1:
        Fix handling of non-ascii characters in *posix-argv* / *core-pathname*
        (thanks to Yaroslav Kavenchuk).

17 years ago1.0:
William Harold Newman [Thu, 30 Nov 2006 02:36:43 +0000 (02:36 +0000)]
1.0:
release, will be tagged as sbcl_1_0

17 years ago0.9.18.75:
William Harold Newman [Tue, 28 Nov 2006 15:43:09 +0000 (15:43 +0000)]
0.9.18.75:
more correct handling of wide characters in debug info (merged
patch by Juho Snellman for bug reported by Attila Lendvai)

17 years ago0.9.18.74:
Gabor Melis [Mon, 27 Nov 2006 08:54:16 +0000 (08:54 +0000)]
0.9.18.74:
  Fix hash tests on non-threaded platforms (patch for Brian Mastenbrook)

17 years ago0.9.18.73: fix undefined function backtraces on PPC
Nikodemus Siivola [Sun, 26 Nov 2006 22:16:29 +0000 (22:16 +0000)]
0.9.18.73: fix undefined function backtraces on PPC
 * undefined_tramp needs to set reg_CODE, and must have an object
   header. This was a regression as of 0.9.17.8. Current code adapted
   from MIPS, as I don't understand how the old magic header was
   supposed to work.

17 years ago0.9.18.72: fix FreeBSD 4 build
Nikodemus Siivola [Fri, 24 Nov 2006 10:38:49 +0000 (10:38 +0000)]
0.9.18.72: fix FreeBSD 4 build
 * ...no Unix98 ptys there either. Thanks to Niimi Satoshi.

17 years ago0.9.18.71: fix build on Darwin 7.9.0 (OS X 10.3)
Nikodemus Siivola [Thu, 23 Nov 2006 15:11:26 +0000 (15:11 +0000)]
0.9.18.71: fix build on Darwin 7.9.0 (OS X 10.3)
 * Unix98 pty api not supported here: don't add the ldso-stubs for it.
   (Not needed in the presence of linkage-table anyways. After 1.0 the
   conditionalization should be changed to :linkage-table.)

 * ...which still leaves us with the alien definitions. They are
   harmless even if the Unix98 api is not supported, as the code path
   where they live is executed only if we can open /dev/ptmx. They
   will, howver, cause undefined alien style-warnings on startup.

   Since we presumably want to try to keep the same core working on
   both older and newer Darwins, we must detect its support at
   runtime.

   So just muffle undefined alien style warnings from the linkage
   table at startup -- presumably user-code can face similar
   situations, so this is probably TRT anyways.

 * Whitespace damage.

 This commit message is longer then the patch.

17 years ago0.9.18.70: fix Win32 build with version 3.8 WinAPI headers from MinGW
Nikodemus Siivola [Thu, 23 Nov 2006 12:42:30 +0000 (12:42 +0000)]
0.9.18.70: fix Win32 build with version 3.8 WinAPI headers from MinGW
  * Conflicting boolean types. Report and patch by Pierre Mai.
    Still in freeze, damn.

17 years ago0.9.18.69:
Juho Snellman [Thu, 23 Nov 2006 04:00:15 +0000 (04:00 +0000)]
0.9.18.69:
        Fix DISASSEMBLE after a SB-SPROF:RESET (regression since 0.9.18,
        reported by Zach Beane).

17 years ago0.9.18.68:
Christophe Rhodes [Wed, 22 Nov 2006 22:35:28 +0000 (22:35 +0000)]
0.9.18.68:
Living dangerously...
... fix the (function-lambda-expression #'gf) problem;
... add test cases.

17 years ago0.9.18.67:
Juho Snellman [Wed, 22 Nov 2006 11:37:21 +0000 (11:37 +0000)]
0.9.18.67:
        Fix build with gcc 2.95 (regression from 0.9.18, patch by James
        Knight).

17 years ago0.9.18.66:
Juho Snellman [Tue, 21 Nov 2006 12:24:59 +0000 (12:24 +0000)]
0.9.18.66:
        Replace the REPLACE introduced in .64 with a "Spirit of
        11.1.2.1.1"-compliant CONTINUE. (This is sort of a regression,
        so I'm committing it during early freeze).

17 years ago0.9.18.65:
Christophe Rhodes [Tue, 21 Nov 2006 10:29:09 +0000 (10:29 +0000)]
0.9.18.65:
Minimally document the FreeBSD/x86 threads.

17 years ago0.9.18.64:
Juho Snellman [Mon, 20 Nov 2006 10:27:59 +0000 (10:27 +0000)]
0.9.18.64:
        Add a REPLACE restart for the annoying "FOO already names an ordinary
        function or a macro" error for DEFGENERIC.

17 years ago0.9.18.63:
Juho Snellman [Mon, 20 Nov 2006 09:46:16 +0000 (09:46 +0000)]
0.9.18.63:
        Fix the manual build (missed a file in a previous commit).

17 years ago0.9.18.62:
Cyrus Harmon [Mon, 20 Nov 2006 04:51:37 +0000 (04:51 +0000)]
0.9.18.62:
    FreeBSD threads fixes, based on the patches from NIIMI Satoshi
    on the sbcl-devel mailing list. This makes FreeBSD threads "work",
    finally, at least experimentally.

    * added lutex_trylock routine.
    * fix the sb-lutex and (not wait-p) case of get-lutex.
    * add pthred_mutexattr_t field to the lutex lisp object.
    * use libthr (1:1 threading) instead of libpthread (m:n threading)
      which supposedly doesn't work.
    * use PTHREAD_MUTEX_ERRORCHECK when attribute locking mutexes
    * create a dedicated cleanup thread to free threads
    * put a mutex around creating threads
    * use load_fs instead of the inline asm stubs

17 years ago0.9.18.61:
Christophe Rhodes [Sun, 19 Nov 2006 17:45:28 +0000 (17:45 +0000)]
0.9.18.61:
Callbacks for Linux/PPC, based on the patch from Joshua Ross
(joslwah sbcl-devel 2006-11-19).
... massage some of the comments into slightly better shape;
... rework the test case rather strongly.

17 years ago0.9.18.60:
Christophe Rhodes [Sun, 19 Nov 2006 11:26:15 +0000 (11:26 +0000)]
0.9.18.60:
Fix build on ppc/darwin (and probably also on ppc/linux)
... GNU make appears not to like the quotation marks around
the GC_SRC assignments.  The symptom was a silent
stop in the build after ldso-stubs.S.

17 years ago0.9.18.59:
Juho Snellman [Sun, 19 Nov 2006 01:47:32 +0000 (01:47 +0000)]
0.9.18.59:
        Bump fasl-file-version (at least CLOS calling convention changes).

17 years ago0.9.18.58:
Juho Snellman [Fri, 17 Nov 2006 02:15:47 +0000 (02:15 +0000)]
0.9.18.58:
        Further SB-SPROF improvements.

        * Allocation profiling on gencgc. When the profiler is running in
          allocation profiling mode, the gc will signal profiler ticks
          when new allocation regions are opened.
        * Add :LOOP keyword argument to WITH-PROFILING, to allow specifying
          whether the body should be evaluated repeatedly until the maximum
          sample count is reached.
        * Improve merging of code-components with multiple debug-funs,
          better handling of multiple functions with the same name
        * More documentation
        * Also update the stepper documentation

17 years ago0.9.18.57:
Nathan Froyd [Thu, 16 Nov 2006 04:18:55 +0000 (04:18 +0000)]
0.9.18.57:
Add missing 'return'.

17 years ago0.9.18.56:
Juho Snellman [Thu, 16 Nov 2006 03:24:07 +0000 (03:24 +0000)]
0.9.18.56:
        Fix SB-POSIX build on Windows (broken by largefile support). Thanks
        to Yaroslav Kavenchuk.

17 years ago0.9.18.55:
Nathan Froyd [Wed, 15 Nov 2006 16:35:17 +0000 (16:35 +0000)]
0.9.18.55:
Fix a 32/64-bit confusion.

17 years ago0.9.18.54:
Nathan Froyd [Wed, 15 Nov 2006 16:31:00 +0000 (16:31 +0000)]
0.9.18.54:
Unbreak #!-linkage-table builds by adding some forgotten calls
  in ldso-stubs.lisp.

17 years ago0.9.18.53:
Nathan Froyd [Wed, 15 Nov 2006 16:19:56 +0000 (16:19 +0000)]
0.9.18.53:
Optimize MAP and MAP-INTO with vector arguments.

* Introduce new optimization quality, INSERT-ARRAY-BOUNDS-CHECKS;
* Use it in the %MAP and MAP-INTO transforms.  (We needed something
  more fine-grained than (SAFETY 0), because we still want
  any necessary type-checking to take place.  But we know that
  eliminating the bounds checks are safe.)

17 years ago0.9.18.52:
Nathan Froyd [Tue, 14 Nov 2006 22:15:20 +0000 (22:15 +0000)]
0.9.18.52:
If possible, use a shorter XOR instruction on x86-64 when we zero
  a register.

17 years ago0.9.18.51:
Thiemo Seufer [Tue, 14 Nov 2006 20:23:33 +0000 (20:23 +0000)]
0.9.18.51:
Fix GC-unsafe temporary variable.

17 years ago0.9.18.50:
Juho Snellman [Tue, 14 Nov 2006 03:59:52 +0000 (03:59 +0000)]
0.9.18.50:
        Various improvements to SB-SPROF (more speed, reliability and
        usability, less consing and source code).

        * Do the pc -> debug-info mapping in the signal handler, rather
          than just storing the PCs and waiting until REPORT is called.
        * Remove huge swathes of code for adjusting the PCs after GCs
          (I don't think this had actually worked in quite a while, anyway).
          This removes the slowdowns for long profiling runs.
        * Show samples from assembly routines in the report, rather than
          just grouping them all under "no debug information".
        * Clean up SB-C::TL-XEPs etc. from function names
        * Add an UNWIND-PROTECT to ensure WITH-PROFILING always stops
          profiling.
        * Make sigprof-handler mostly non-consing. (There's still a
          few words of consing / signal handler invocation, but that happens
          for all Lisp-side signal handlers).

        For the last point, some core SBCL changes are also needed:

        * Make a bunch of signal-context accessors inlineable to reduce
          SAP to pointer conversions
        * Restructure x86-call-context to always return SAPs in certain
          return value positions, to allow the compiler to keep them
          in registers. Rewrite recursion with a local function.

17 years ago0.9.18.49:
Juho Snellman [Mon, 13 Nov 2006 16:03:29 +0000 (16:03 +0000)]
0.9.18.49:
        Fix Linux/x86 build after a clean.sh.

        * Write the target features to genesis/Makefile.features, included
          into other makefiles.
        * Remove the disgusting shell/grep tricks for feature-based
          conditionalizing in Makefiles

17 years ago0.9.18.48:
Juho Snellman [Mon, 13 Nov 2006 07:20:20 +0000 (07:20 +0000)]
0.9.18.48:
        Make calling methods with &OPTIONALs or &KEYs faster and non-consing.

        * Change fast method functions to use the normal Lisp argument
          passing convention, rather than the CLOS-style "required arguments
          as normal Lisp arguments, non-required ones passed as one
          list" convention.
        * Don't do argument parsing manually in the FMFs generated by
          MAKE-METHOD-INITARGS-FORM-INTERNAL1
        * Use &MORE instead of &REST in DFUN lambda lists.
        * Clean up the lambda-list generation mess in cache.lisp / dlisp.lisp

17 years ago0.9.18.47:
Juho Snellman [Mon, 13 Nov 2006 06:10:15 +0000 (06:10 +0000)]
0.9.18.47:
        Faster &MORE-handling VOPs on x86 and x86-64.

        * The performance of LOOP is really bad on modern x86, rewrite
          the loops in %LISTIFY-REST-ARGS and %MORE-ARG-VALUES to do
          the index manipulation and branching explicitly.
        * REP MOVS isn't very good for copying small blocks of memory, use
          an explicit loop in COPY-MORE-ARG.
        * Rewrite the x86-64 COPY-MORE-ARG to take advantage of the extra
          registers.
        * Implement %MORE-ARG (exists on all other platforms).

17 years ago0.9.18.46:
Juho Snellman [Sun, 12 Nov 2006 23:04:57 +0000 (23:04 +0000)]
0.9.18.46:
        Support files >2GB on Linux/x86.

        * Compile the runtime (and the C type grovelers) with various flags
          to enable a 64-bit off_t.
        * Add C-side wrappers for various POSIX functions, so that we can
          reliably get the largefile versions of them from Lisp-side.

17 years ago0.9.18.45
Rudi Schlatte [Sun, 12 Nov 2006 21:42:27 +0000 (21:42 +0000)]
0.9.18.45
 "Patch to update Japanese external formats" (NIIMI Satoshi, 2006-11-10)
  * New external format: Shift-JIS

17 years ago0.9.18.44:
Christophe Rhodes [Sun, 12 Nov 2006 09:20:19 +0000 (09:20 +0000)]
0.9.18.44:
Patch from Zach Beane for sb-posix support for time, utime and
utimes.

17 years ago0.9.18.43:
Juho Snellman [Thu, 9 Nov 2006 21:30:20 +0000 (21:30 +0000)]
0.9.18.43:
        Signal an error for attempts to displace an array to an array with
        a different element type (patch by Mario Mommer).

        Also mark a couple of float tests as passing on FreeBSD (patch
        by NIIMI Satoshi).

17 years ago0.9.18.42:
Juho Snellman [Thu, 9 Nov 2006 20:34:30 +0000 (20:34 +0000)]
0.9.18.42:
        TRANSLATE-PATHNAME was selecting the version component from
        FROM-WILDCARD rather than SOURCE. (Reported by Josip Gracin,
        apparently causing trouble for cl-darcs).

17 years ago0.9.18.41: add Nikodemus Siivola / Steel Bank Studio Ltd to SUPPORT
Nikodemus Siivola [Wed, 8 Nov 2006 06:18:57 +0000 (06:18 +0000)]
0.9.18.41: add Nikodemus Siivola / Steel Bank Studio Ltd to SUPPORT

17 years ago0.9.18.40:
Christophe Rhodes [Tue, 7 Nov 2006 11:04:38 +0000 (11:04 +0000)]
0.9.18.40:
Update the manual's description of threading to reflect
currently supported platforms.

17 years ago0.9.18.39:
Christophe Rhodes [Tue, 7 Nov 2006 10:51:39 +0000 (10:51 +0000)]
0.9.18.39:
ASDF update: better SBCL_HOME handling.

17 years ago0.9.18.38:
Juho Snellman [Tue, 7 Nov 2006 10:22:09 +0000 (10:22 +0000)]
0.9.18.38:
        Typechecking for CLOS instance slots, based on the earlier
        clos-typechecking branch by Christophe Rhodes.

        To get the typechecking right, especially when considering
        inheritance where the slots in subclasses can have tighter
        :TYPEs than in the superclass, some major PCL optimizations
        need to be disabled. This slows down slot writes significantly.
        Typechecking is thus only enabled for safe code.

        * Store a function in each slot-definition with a non-T :TYPE, which
          checks whether its parameter is of the proper type for the slot.
        * Store in each class knowledge about whether the class was defined
          in an environment with (SAFETY 3) policy.
        * Don't do PV optimization for SETF of SLOT-VALUE in safe code.
        * When generating writer methods for classes defined in safe code,
          fetch the appropriate slotd for the instance and call its
          type-checking-function (if one exists) before doing the slot write.
        * Do the same in the slow path of SET-SLOT-VALUE
        * When generating a ctor for a MAKE-INSTANCE call in safe code,
          check the types of the supplied initargs.
        * Fix declaration handling for some binding forms in SB-WALK
        * Remove dead accessor-call optimization code
        * Tests

17 years ago0.9.18.37:
Nathan Froyd [Tue, 7 Nov 2006 01:08:24 +0000 (01:08 +0000)]
0.9.18.37:
Commit Lutz Euler's "Patch: Fix symbol counts in DESCRIBE on
  packages", sbcl-devel 2006-11-05.

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.