sbcl.git
17 years ago1.0.3.32: make-local-alien stack alignment simplification
Cyrus Harmon [Tue, 6 Mar 2007 18:29:54 +0000 (18:29 +0000)]
1.0.3.32: make-local-alien stack alignment simplification
 * treat x86-64/darwin stack like x86-64/linux rather than x86/darwin
 * remove stack-pointer saving vops as we don't need to save and
   restore the stack in order to preserve 16-byte alignment as the
   stack should already be 16-byte aligned

17 years ago1.0.3.31: fix new = and /= transformations for NaNs
Nikodemus Siivola [Mon, 5 Mar 2007 16:58:26 +0000 (16:58 +0000)]
1.0.3.31: fix new = and /= transformations for NaNs
 * (= nan nan) is false, and (/= nan nan) is true, as pointed out by
   CSR.
 * More tests.

17 years ago1.0.3.30: More compact typechecks on x86-64
Juho Snellman [Mon, 5 Mar 2007 00:57:52 +0000 (00:57 +0000)]
1.0.3.30: More compact typechecks on x86-64

        * Patch by Lutz Euler

17 years ago1.0.3.29: kill a bogus "variable defined but not used" warning in FORMATTER
Juho Snellman [Sun, 4 Mar 2007 23:52:39 +0000 (23:52 +0000)]
1.0.3.29: kill a bogus "variable defined but not used" warning in FORMATTER

17 years ago1.0.3.28: handle output for fatal-compiler-errors more consistently
Juho Snellman [Sun, 4 Mar 2007 23:47:58 +0000 (23:47 +0000)]
1.0.3.28: handle output for fatal-compiler-errors more consistently

* Format the output like it's done for other errors / warnings
        * Output to *error-output*
        * Output unconditionally regardless of the value of *compiler-verbose*

17 years ago1.0.3.27: disable test for get-host-by-name for non-existing hosts
Juho Snellman [Sun, 4 Mar 2007 23:42:32 +0000 (23:42 +0000)]
1.0.3.27: disable test for get-host-by-name for non-existing hosts

* Many people have DNS setups where this test will always fail.

17 years ago1.0.3.26: port modular-xor/fixnum changes from x86 to x86-64
Juho Snellman [Sun, 4 Mar 2007 23:39:34 +0000 (23:39 +0000)]
1.0.3.26: port modular-xor/fixnum changes from x86 to x86-64

* Code like (logand most-positive-fixnum (logxor (the fixnum x)
                                                         (the fixnum y))
          would end up with a full call to SB-VM::LOGXOR-MOD64.

17 years ago1.0.3.25: freebsd sb-bsd-sockets fixes
Cyrus Harmon [Sat, 3 Mar 2007 20:53:15 +0000 (20:53 +0000)]
1.0.3.25: freebsd sb-bsd-sockets fixes
 * SO_NO_CHECK doesn't exist on freebsd. Make this #-freebsd.
 * EAI-ADDRFAMILY and EAI-NODATA are deprecated and don't exist on
   freebsd. Make these #-freebsd.

17 years ago1.0.3.24: remove win32 alien-timeval
Cyrus Harmon [Sat, 3 Mar 2007 20:19:26 +0000 (20:19 +0000)]
1.0.3.24: remove win32 alien-timeval
 * remove alien-timeval struct defintion
 * make define-protocol-class timeval be #-win32

17 years ago1.0.3.23: fix sb-posix timeval struct
Cyrus Harmon [Sat, 3 Mar 2007 18:58:48 +0000 (18:58 +0000)]
1.0.3.23: fix sb-posix timeval struct
 * add timeval struct for #+win32 and use long instead of suseconds_t

17 years ago1.0.3.22: fix with-pinned-object buglets
Cyrus Harmon [Sat, 3 Mar 2007 18:28:43 +0000 (18:28 +0000)]
1.0.3.22: fix with-pinned-object buglets
 * on ppc types and variables were unused, which was causing a warning
   which was getting promoted to an error. make them ignorable.
 * #+(or x86 x86-64) -> #!+(or x86 x86-64) which should help building
   from non sbcl hosts.
 * also fix indentation in timeval struct definition

17 years ago1.0.3.21: suseconds_t -> long on win32
Cyrus Harmon [Sat, 3 Mar 2007 17:52:46 +0000 (17:52 +0000)]
1.0.3.21: suseconds_t -> long on win32
 * suseconds_t doesn't exist on win32, so use long instead

17 years ago1.0.3.20: better SEARCH transform
Nikodemus Siivola [Sat, 3 Mar 2007 17:21:58 +0000 (17:21 +0000)]
1.0.3.20: better SEARCH transform

 * Better type declarations for index variables -- fixes the
   performance regression in BENCH-STRINGS from the NaN-comparison
   changes.

 * Extend the transform to work with general vectors, arbitrary :TEST and
   :KEY, and constant but arbitrary :FROM-END.

 * Tests.

17 years ago1.0.3.19: the count argument in DOTIMES is known to be an integer
Nikodemus Siivola [Sat, 3 Mar 2007 10:49:26 +0000 (10:49 +0000)]
1.0.3.19: the count argument in DOTIMES is known to be an integer
 * Declaring it as such for the non-constant expansion of dotimes
   allows the inversion of >= to < kick in for the termination test.

17 years ago1.0.3.18: Fix build on FreeBSD/amd64
sa2c [Sat, 3 Mar 2007 07:19:36 +0000 (07:19 +0000)]
1.0.3.18: Fix build on FreeBSD/amd64

17 years ago1.0.3.17: fix x86-64-assem.S build
Cyrus Harmon [Sat, 3 Mar 2007 06:24:38 +0000 (06:24 +0000)]
1.0.3.17: fix x86-64-assem.S build
 * on darwin, use GSYM(GNAME(all_threads)),%rax, on linux use
   GNAME(all_threads). This is isn't the cleanest fix, but it should
   restore buildability while I work out a proper fix.

17 years ago1.0.3.16: experimental x86-64/darwin suport
Cyrus Harmon [Sat, 3 Mar 2007 00:42:01 +0000 (00:42 +0000)]
1.0.3.16: experimental x86-64/darwin suport
 * fix sb-posix time structs to match headers on darwin
 * comment out mtime sb-posix test as this isn't working ATM
 * add UD2A trap stuff to x86-64 and corresponding word-imm support
 * remove bogus extern-alien-name in boxed_region fixups
 * add compiler parameters for Darwin
 * add x86-64 darwin config file
 * some type safety fixes (proper types) in darwin-dlshim.c
 * use setpgid on Darwin
 * add signal context support x86-64/darwin
 * report trap instead of si_code for trap_Error/trap_Cerror
 * unsigned -> unsigned long in purify.c
 * add mach exception handler support for x86-64/darwin
 * x86-64 assembly hacks to make darwin's assembler happy
 * update x86-64-bsd-os.c to suppot darwin and mach exceptions
 * add x86-64-darwin-os.c/h
 * update LDSO stubs for x86-64 darwin

17 years ago1.0.3.15: timeval tv-usec should be suseconds-t not time-t
Cyrus Harmon [Fri, 2 Mar 2007 22:43:43 +0000 (22:43 +0000)]
1.0.3.15: timeval tv-usec should be suseconds-t not time-t
 * add suseconds-t to grovel-headers
 * fix timeval struct such that tv-usec is a suseconds-t instead of time-t
 * fix whitespace

17 years ago1.0.3.14: fix print_obj on x86-64
Cyrus Harmon [Fri, 2 Mar 2007 17:52:55 +0000 (17:52 +0000)]
1.0.3.14: fix print_obj on x86-64
 * debugging code in print_obj was hardcoded to use 3-bit lowtags.
   Now it's hardcoded to use appropriate 4-bit lowtags on x86-64.
 * Added a fixme about how this should be fixed properly at some point.

17 years ago1.0.3.13: working NaN comparison tests outside Darwin
Nikodemus Siivola [Fri, 2 Mar 2007 17:03:09 +0000 (17:03 +0000)]
1.0.3.13: working NaN comparison tests outside Darwin
 * Other platforms have invalid operation traps normally in effect.

17 years ago1.0.3.13: "Oops"
Juho Snellman [Fri, 2 Mar 2007 06:08:37 +0000 (06:08 +0000)]
1.0.3.13: "Oops"

17 years ago1.0.3.12: Use the interpreter when creating functions for undeclared aliens
Juho Snellman [Fri, 2 Mar 2007 05:05:32 +0000 (05:05 +0000)]
1.0.3.12: Use the interpreter when creating functions for undeclared aliens

          * No sense in invoking the compiler, since the functions will
            just be discarded after one use.
          * Undeclared aliens should no longer be hideously expensive

17 years ago1.0.3.11: Fix deportation gc safety bug
Juho Snellman [Fri, 2 Mar 2007 04:35:58 +0000 (04:35 +0000)]
1.0.3.11: Fix deportation gc safety bug

          * Pin objects that are deported by taking a SAP to a GCd object
          * In some cases the object that the SAP is taken to isn't actually
            EQ to the one that was deported -> split deportation into
            separate alien-type-class-methods for the allocation and the
            actual deportation.
          * Don't do pinning on non-x86oids, since we can't really disable
            the GC during all alien calls.

17 years ago1.0.3.10: Add -D_REENTRANT to Solaris CFLAGS
Juho Snellman [Fri, 2 Mar 2007 03:16:31 +0000 (03:16 +0000)]
1.0.3.10: Add -D_REENTRANT to Solaris CFLAGS

         * Otherwise localtime_r in time.c won't be found.
         * Problem and solution reported by Thomas Burdick.

17 years ago1.0.3.9: Allow characters as string designators for SHADOW
Juho Snellman [Fri, 2 Mar 2007 02:02:01 +0000 (02:02 +0000)]
1.0.3.9: Allow characters as string designators for SHADOW

         * Patch by Eric Marsden

17 years ago1.0.3.8: Use an explicit :initial-element 0 when making sset storage vectors
Juho Snellman [Fri, 2 Mar 2007 01:37:08 +0000 (01:37 +0000)]
1.0.3.8: Use an explicit :initial-element 0 when making sset storage vectors

         * Would cause build failures with clisp and abcl
         * Patch by Peter Graves

17 years ago1.0.3.7: Compile XEPs using the policy from the correct environment
Juho Snellman [Fri, 2 Mar 2007 01:33:13 +0000 (01:33 +0000)]
1.0.3.7: Compile XEPs using the policy from the correct environment

         * Didn't matter before the fop-compiler function handling changes.

17 years ago1.0.3.6: Make sb-bsd-sockets use getaddrinfo/getnameinfo where available
Juho Snellman [Fri, 2 Mar 2007 00:59:07 +0000 (00:59 +0000)]
1.0.3.6: Make sb-bsd-sockets use getaddrinfo/getnameinfo where available

         * Generally thread-safe functions (though not on OS X) unlike
           gethostbyaddr/gethostbyname.
         * The interfaces are not totally compatible (e.g. no aliases data
           available, different error codes, etc). Try to make this change as
           transparent as possible.
         * Clean up old CMUCL compability cruft
         * Delete the obsolete documentation generator
         * Add a little extra documentation on the name-service to the manual

17 years ago1.0.3.5: slightly different SEQUENCE type handling.
Christophe Rhodes [Wed, 28 Feb 2007 16:05:57 +0000 (16:05 +0000)]
1.0.3.5: slightly different SEQUENCE type handling.
The UNION TYPE= issue affects type derivation as in
(defun foo (x)
          (declare (type (simple-array character) x))
          (subseq x 1 2))
        where the system fails to derive that the intersection of
consed-sequence and (simple-array character) is distinct from
consed-sequence.  Change SEQUENCE to be an explicit union of
LIST, VECTOR and an EXTENDED-SEQUENCE named type, defining
appropriate type methods, and the symptom (but not the cause)
goes away.

(Note: it may well be that the EXTENDED-SEQUENCE named type
disappears again, to be replaced by an actual protocol class
similar to FUNDAMENTAL-STREAM for Gray streams, for reasons of
future extensibility and ease of compatibility with other Lisps.
        Waiting for ILC feedback...)

17 years ago1.0.3.4: make-target-2.lisp split into compile and dump phases.
Andreas Fuchs [Wed, 28 Feb 2007 13:01:58 +0000 (13:01 +0000)]
1.0.3.4: make-target-2.lisp split into compile and dump phases.

* Split make-target-2.lisp into make-target-2.lisp and
  make-target-2-load.lisp, reducing unnecessary state that was kept around.
  Not keeping symbols that were interned during the compilation of PCL
  saves us 400kB on x86 and between 1MB and 1.5MB on x86_86.
* Unintern symbols that are internal to CL-USER before dumping the core.
  This doesn't save any space; just removes confusion.

17 years ago1.0.3.3:
Christophe Rhodes [Wed, 28 Feb 2007 12:56:26 +0000 (12:56 +0000)]
1.0.3.3:
Make the #=/## reader macro work on funcallable instances.

17 years ago1.0.2:
William Harold Newman [Tue, 27 Feb 2007 23:25:38 +0000 (23:25 +0000)]
1.0.2:
logged bug

17 years ago1.0.3.1: fix behaviour of >= and <= with NaNs
Nikodemus Siivola [Tue, 27 Feb 2007 21:57:12 +0000 (21:57 +0000)]
1.0.3.1: fix behaviour of >= and <= with NaNs

 * Problem: (>= (/ 0.0 0.0) 1.0) evaluates to true.

   Move inversion from >= to < and from <= to > from the source
   transformations to new deftransforms, and make it conditional on
   the derived type, avoiding the inversion for potential floats.

   This fixes the NaN issues with >= and <=, but exposes gaps in our
   transformations for =, causing a constraint propagation test to
   fail...

 * Tweak the deftransform for = so that another transformation can
   co-exist with it.

   Write INTERVAL-= and INTERVAL-/=, and deftransforms for = and /=
   based on them.

   This fixes the constant propagation issue, except for the bug it
   exposes elsewhere...

 * INTERVAL-INTERSECTION/DIFFERENCE returns bogus intersections -- fix
   it.

   ...and all is well.

 * Tests.

 * NUMERIC-TYPE-OR-LOSE is unused, deleted.

 * Also fix tests/stream.impure.lisp for UTF-8 environments.

17 years ago1.0.3:
William Harold Newman [Tue, 27 Feb 2007 20:03:42 +0000 (20:03 +0000)]
1.0.3:
release, will be tagged as sbcl_1_0_3

17 years ago1.0.2.27:
William Harold Newman [Thu, 22 Feb 2007 20:14:13 +0000 (20:14 +0000)]
1.0.2.27:
fixed thinko in man page (thanks to Trent Buck and Zach Beane)

17 years ago1.0.2.26: replace *all-components* special with a local variable
Nikodemus Siivola [Mon, 19 Feb 2007 11:55:51 +0000 (11:55 +0000)]
1.0.2.26: replace *all-components* special with a local variable
 * Was used only in COMPILE-TOPLEVEL where it was also bound.

17 years ago1.0.2.25: Better MUFFLE-CONDITIONS handling for inlined functions
Juho Snellman [Tue, 13 Feb 2007 07:40:38 +0000 (07:40 +0000)]
1.0.2.25: Better MUFFLE-CONDITIONS handling for inlined functions

* Inherit MUFFLE-CONDITIONS from the call-site
          lexenv. Otherwise it's basically impossible to selectively
          muffle "alien runtime allocation" notes, at least for
          SB-GROVELed alien functions.

17 years ago1.0.2.24: Support readlink in SB-POSIX
Juho Snellman [Mon, 12 Feb 2007 03:43:11 +0000 (03:43 +0000)]
1.0.2.24: Support readlink in SB-POSIX

        * Thanks to Richard M Kreuter

17 years ago1.0.2.23: Clean up handling SB-POSIX functions with runtime wrappers
Juho Snellman [Mon, 12 Feb 2007 03:20:39 +0000 (03:20 +0000)]
1.0.2.23: Clean up handling SB-POSIX functions with runtime wrappers

        * Thanks to Richard M Kreuter

17 years ago1.0.2.22: Minor NetBSD changes
Juho Snellman [Mon, 12 Feb 2007 03:12:40 +0000 (03:12 +0000)]
1.0.2.22: Minor NetBSD changes

        * Use gtar as the tar in asdf-install (thanks to Jon Buller)
        * Fix bashism in make-target-contrib.sh (thanks to Magnus Henoch)

17 years ago1.0.2.21:
Nathan Froyd [Wed, 7 Feb 2007 19:12:42 +0000 (19:12 +0000)]
1.0.2.21:
Make ASH VOPs use 'LEA <reg>, [<reg>+<reg>]' instead of
  'LEA <reg>, [<reg>*2]' on x86 and x86-64, resulting in
  shorter code.

17 years ago1.0.2.20:
Nathan Froyd [Wed, 7 Feb 2007 18:35:54 +0000 (18:35 +0000)]
1.0.2.20:
Fix parenthetical typo.

17 years ago1.0.2.19: Fix fopcompiling references to undefined variables
Juho Snellman [Tue, 6 Feb 2007 18:24:55 +0000 (18:24 +0000)]
1.0.2.19: Fix fopcompiling references to undefined variables

        * While undefined, this should be handled the same way in the compiler
          and the fopcompiler
        * Signal a warning, use the symbol-value of the slot
        * Reported by Gregory Vanuxem on sbcl-devel

17 years ago1.0.2.18:
Christophe Rhodes [Tue, 6 Feb 2007 15:51:14 +0000 (15:51 +0000)]
1.0.2.18:
Whoops.  Add the new files for the PPC/NetBSD port, from
Aymeric Vincent.

17 years ago1.0.2.17: Bypass the hairy AREF transform for simple arrays
Juho Snellman [Tue, 6 Feb 2007 08:11:17 +0000 (08:11 +0000)]
1.0.2.17: Bypass the hairy AREF transform for simple arrays

* To improve compilation speed for array-heavy code

17 years ago1.0.2.16: Replace SVREF with DATA-VECTOR-REF in %INSTANCE-TYPEP deftransform
Juho Snellman [Tue, 6 Feb 2007 06:12:07 +0000 (06:12 +0000)]
1.0.2.16: Replace SVREF with DATA-VECTOR-REF in %INSTANCE-TYPEP deftransform

* Since the SVREF is compiled with SAFETY 0, it'd eventually get
          transformed to exactly the same thing, but going through several
          heavy intermediate stages.
        * Big compilation speed improvement for code that uses structs.

17 years ago1.0.2.15: Cache the results of BLOCK-PHYSENV during lifetime analysis
Juho Snellman [Tue, 6 Feb 2007 05:51:30 +0000 (05:51 +0000)]
1.0.2.15: Cache the results of BLOCK-PHYSENV during lifetime analysis

* Fetching the home-lambda of a block (needed in
          BLOCK-PHYSENV) can be an expensive operation under some
          circumstances, and it needs to be done a lot during lifetime
          analysis when compiling with high DEBUG (e.g. 30% of the
          total compilation time for CL-PPCRE with DEBUG 3 just for
          that).

17 years ago1.0.2.14: Speed up constraint propagation
Juho Snellman [Tue, 6 Feb 2007 05:24:13 +0000 (05:24 +0000)]
1.0.2.14: Speed up constraint propagation

        * Rewrite ADD-EQL-VAR-VAR-CONSTRAINT to do a constant number of
          passes over the constraint set, rather than an amount proportional
          to the amount of EQL constraints on the variables in question.
        * Use SSET-MEMBER directly in CONSTRAIN-REF-TYPE, rather than
          a COPY-SSET and SSET-INTERSECTION.

17 years ago1.0.2.13: Use an sset for LAMBDA-CALLS-OR-CLOSES
Juho Snellman [Tue, 6 Feb 2007 05:06:37 +0000 (05:06 +0000)]
1.0.2.13: Use an sset for LAMBDA-CALLS-OR-CLOSES

        * Used to be an unsorted list (often long) and PUSHNEW / NUNION

17 years ago1.0.2.12: New hash-based implementation of ssets
Juho Snellman [Tue, 6 Feb 2007 04:48:36 +0000 (04:48 +0000)]
1.0.2.12: New hash-based implementation of ssets

        * The old version that used sorted lists had bad worst case performance,
          which was especially noticeable with constraint propagation on
          hairy functions.
        * Use yet another custom hash implementation (with open addressing
          and double hashing), since the standard hash-tables are too heavy
          for this (e.g. locking overhead, memory consumption).
        * An sset implementation based on balanced trees was also tested,
          but in practice turned out to be even slower than the sorted lists,
          due to the high
        * DO-SSET-ELEMENTS no longer iterates in SSET-ELEMENT-NUMBER order,
          but we don't seem to rely on the old behaviour anywhere.

17 years ago1.0.2.11:
Christophe Rhodes [Mon, 5 Feb 2007 07:23:40 +0000 (07:23 +0000)]
1.0.2.11:
NetBSD/PPC support (from Aymeric Vincent sbcl-devel 2007-01-18).

17 years ago1.0.2.10:
Nathan Froyd [Mon, 5 Feb 2007 03:58:32 +0000 (03:58 +0000)]
1.0.2.10:
Delete a pile of unused bignum code.

17 years ago1.0.2.9:
Nathan Froyd [Mon, 5 Feb 2007 03:47:01 +0000 (03:47 +0000)]
1.0.2.9:
Micro-optimizations to the bignum code: use LOGTEST and LOGBITP
  where appropriate.

17 years ago1.0.2.8:
Christophe Rhodes [Sun, 4 Feb 2007 16:26:47 +0000 (16:26 +0000)]
1.0.2.8:
Two slightly improved comments relating to the extensible
sequences checked in in the 1.0.0 series.

17 years ago1.0.2.7: Darwin/MacOS threading improvements
Cyrus Harmon [Fri, 2 Feb 2007 19:26:23 +0000 (19:26 +0000)]
1.0.2.7: Darwin/MacOS threading improvements

    * use LOCK_CREATE_THREAD on MacOS/Darwin too
    * add new mach_exception_lock and grab this lock when handling
      exceptions
    * fix signal mask restoring logic (I think...)
    * restore float state in addition to thread state when done
      handling an emulated signal

17 years ago1.0.2.6:
Nathan Froyd [Mon, 29 Jan 2007 21:24:11 +0000 (21:24 +0000)]
1.0.2.6:
*sigh* Fix #+sb-unicode builds.

17 years ago1.0.2.5:
Nathan Froyd [Mon, 29 Jan 2007 20:38:40 +0000 (20:38 +0000)]
1.0.2.5:
Fix DATA-VECTOR-{REF,SET}-WITH-OFFSET for #-sb-unicode builds.

17 years ago1.0.2.4: Improve inlined array heap allocation on x86.
Nathan Froyd [Mon, 29 Jan 2007 18:30:24 +0000 (18:30 +0000)]
1.0.2.4: Improve inlined array heap allocation on x86.
...allow IMMEDIATE SCs to ALLOCATE-VECTOR-ON-HEAP;
...use shorter instructions to set the widetag.

Cuts a couple of pages off of sbcl.core.

17 years ago1.0.1.3:
Nathan Froyd [Sun, 28 Jan 2007 19:58:54 +0000 (19:58 +0000)]
1.0.1.3:
Fix two buglets in MAKE-EA-FOR-FLOAT-REF.

17 years ago1.0.2.2:
Nathan Froyd [Sat, 27 Jan 2007 03:57:20 +0000 (03:57 +0000)]
1.0.2.2:
Delete a few spurious debugging FORMATs.

17 years ago1.0.2.1: DATA-VECTOR-{REF,SET}-WITH-OFFSET for the x86
Nathan Froyd [Sat, 27 Jan 2007 03:45:45 +0000 (03:45 +0000)]
1.0.2.1: DATA-VECTOR-{REF,SET}-WITH-OFFSET for the x86

Compile calls of (AREF FOO (+ INDEX <constant>) more efficiently:
... turn DATA-VECTOR-{REF,SET} into
  DATA-VECTOR-{REF,SET}-WITH-OFFSET when the element type of FOO
  is at least 8 bits wide;
... introduce general mechanism for optimization of such calls;
... redo the x86 DATA-VECTOR-FOO VOPs, reducing the number of such
  VOPs in the process;
... do the same for BIGNUM-REF and SAP-REF-FOO.

Upshot: 5-10% increase in performance on array-heavy code such
  as Ironclad; a 20% increase in performance has been observed
  on cellular automata codes.  Some restrictions apply; see the
  KLUDGE in src/compiler/generic/vm-tran for an example.

17 years ago1.0.2:
William Harold Newman [Thu, 25 Jan 2007 15:51:34 +0000 (15:51 +0000)]
1.0.2:
release, will be tagged as sbcl_1_0_2

17 years ago1.0.1.35: propagate (EQL X Y) constraints symmetrically
Gabor Melis [Tue, 23 Jan 2007 16:04:53 +0000 (16:04 +0000)]
1.0.1.35: propagate (EQL X Y) constraints symmetrically
  After an (EQL X Y) test both X and Y shall inherit the constraints
  of the other. Thanks to jsnell for spotting this.

17 years ago1.0.1.34: quote fix for old cpp
sa2c [Sun, 21 Jan 2007 03:48:23 +0000 (03:48 +0000)]
1.0.1.34: quote fix for old cpp
fix build with gcc 2.95.

17 years ago1.0.1.33: Better forward reference handling in WITH-COMPILATION-UNIT ...
Juho Snellman [Fri, 19 Jan 2007 01:55:46 +0000 (01:55 +0000)]
1.0.1.33: Better forward reference handling in WITH-COMPILATION-UNIT ...

        * ... for the case where a forward reference is made during
          compilation, and the referenced function is loaded from a
          pre-existing fasl while still inside the same compilation unit.
          (Reported by Jeremy Brown).
        * Tests.

17 years ago1.0.1.32: More syscall wrappers on NetBSD, to work around C preprocessor abuse
Juho Snellman [Fri, 19 Jan 2007 00:07:26 +0000 (00:07 +0000)]
1.0.1.32: More syscall wrappers on NetBSD, to work around C preprocessor abuse

        * socket, dirent (patch from Richard Kreuter)

17 years ago1.0.1.31: Speed up fopcompilation of functions
Juho Snellman [Thu, 18 Jan 2007 00:32:04 +0000 (00:32 +0000)]
1.0.1.31: Speed up fopcompilation of functions

        * Get rid of the extra wrapper lambda around fopcompiled functions
        * This requires making sure that functions with xeps are never
          let- or assignment-converted.
        * Fix some whitespace damage, and a few tests that were making
          invalid assumptions
        * Compilation speedup seems to be about 5% for most cases, up to
          20% on high debug levels.

17 years ago1.0.1.30: Fix READ/WRITE-SEQUENCE on simple-vectors
Juho Snellman [Wed, 17 Jan 2007 12:40:54 +0000 (12:40 +0000)]
1.0.1.30: Fix READ/WRITE-SEQUENCE on simple-vectors

        Broken by the recent bivalent stream fix.

        * Arbitrarily decide that READ-SEQUENCE into a simple-vector
          from a bivalent stream should read character data
* More tests

17 years ago1.0.1.29: Documentation strings for autogenerated accessors
Juho Snellman [Mon, 15 Jan 2007 23:23:14 +0000 (23:23 +0000)]
1.0.1.29: Documentation strings for autogenerated accessors

        When generating CLOS accessors, use the :documentation of the
        slot for the docstring of the method (Patch by Troels
        Henriksen)

17 years ago1.0.1.28: Fix SBCL on PPC with 65k pages.
Juho Snellman [Mon, 15 Jan 2007 22:15:48 +0000 (22:15 +0000)]
1.0.1.28: Fix SBCL on PPC with 65k pages.

        It turns out that getpagesize() can return different values on
        different Linux kernel versions, for example on PPC where the
        ABI specifies the page size as 4k-65k. If getpagesize() and
        SB!C:*BACKEND-PAGE-SIZE* disagree, the result will be a segfault
        at startup. Fix this. (Thanks to David Woodhouse).

        * SB!SYS:GET-PAGE-SIZE and os_vm_page_size use the hardcoded
          SB!C:*BACKEND-PAGE-SIZE* on Linux, since getpagesize() is unreliable.
        * Remove the obsolete LISPOBJ() kludge in genesis for forcing values to
          unsigned.
        * Fix buffer overflow in coreparse for sufficiently small page tables.
        * Allow using 65k or gencgc pages (with a slightly less efficient
          page table structure layout).

17 years ago1.0.1.27: Add syslog(3) and friends to SB-POSIX.
Juho Snellman [Mon, 15 Jan 2007 22:09:10 +0000 (22:09 +0000)]
1.0.1.27: Add syslog(3) and friends to SB-POSIX.

* Patch by Richard Kreuter

17 years ago1.0.1.26:
Juho Snellman [Mon, 15 Jan 2007 21:24:04 +0000 (21:24 +0000)]
1.0.1.26:
        Fix bug in the win32 ATANH implementation (patch by Pierre Mai)

17 years ago1.0.1.25:
Juho Snellman [Mon, 15 Jan 2007 21:05:43 +0000 (21:05 +0000)]
1.0.1.25:
        Add limited support for LET and LET* to the fopcompiler (can only
        be used for binding lexical variables which aren't closed over).
        Speeds up McCLIM compilation by 5-10%.

17 years ago1.0.1.24: unwinding lisp stack frames when alien code is doing a
lisphacker [Sat, 13 Jan 2007 21:05:33 +0000 (21:05 +0000)]
1.0.1.24: unwinding lisp stack frames when alien code is doing a
          non-local exit.
  Revert src/assembly/x86/assem-rtns.lisp changes of version 1.0.0.19.
  Add Win32 SEH frame to catch-block and unwind-block object
    definitions.
  Changed VOPs in src/compiler/x86/nlx.lisp to set up SEH frames for
    unwind-protect and unwind targets.
  Added Win32-specific assembly-routines to handle unwinding and
    unwind-protect frames.
  Added an SEH frame to call_into_lisp.
  Added a wrapper around the runtime exception handler to provide a
    set of continuous stack frames over the system unwind logic (which
    doesn't maintain EBP properly, thus breaking backtraces).
  Added test cases for unwinding lisp stack frames from alien code.

17 years ago1.0.1.23:
Juho Snellman [Thu, 11 Jan 2007 21:41:59 +0000 (21:41 +0000)]
1.0.1.23:
        Add generic function STREAM-FILE-POSITION, used to provide an
        implementation of FILE-POSITION for Gray streams (thanks to Eric
        Marsden).

17 years ago1.0.1.22:
Juho Snellman [Thu, 11 Jan 2007 20:58:15 +0000 (20:58 +0000)]
1.0.1.22:
        Handle PATHNAME-DEVICE in ASDF-INSTALL:DIRECTORIFY (thanks to
        Yaroslav Kavenchuk).

17 years ago1.0.1.21:
Juho Snellman [Thu, 11 Jan 2007 20:32:59 +0000 (20:32 +0000)]
1.0.1.21:
        Whitespace.

17 years ago1.0.1.20:
Juho Snellman [Thu, 11 Jan 2007 20:31:53 +0000 (20:31 +0000)]
1.0.1.20:
        Signal an error for duplicate tags in a tagbody rather than looping
        infinitely, allow using NIL as a go tag (thanks to Stephen Wilson)

17 years ago1.0.1.19:
Juho Snellman [Thu, 11 Jan 2007 19:54:10 +0000 (19:54 +0000)]
1.0.1.19:
        The expansion of SB-SPROF:WITH-PROFILING was missing the parameter to
        SAMPLES-MAX-SAMPLES, which broke :SHOW-PROGRESS (thanks to Kilian
        Sprotte)

17 years ago1.0.1.18:
Juho Snellman [Thu, 11 Jan 2007 19:46:40 +0000 (19:46 +0000)]
1.0.1.18:
        Fix bug introduced in 1.0.1.7, where bogus debug variables generated
        for closure variables whose value cell had not yet been allocated
        could cause segfaults and gc crashes (reported by Cyrus Harmon and
        Attila Lendvai on sbcl-devel)

17 years ago1.0.1.17: Remove Win32 exception trampolines
lisphacker [Tue, 9 Jan 2007 18:10:07 +0000 (18:10 +0000)]
1.0.1.17: Remove Win32 exception trampolines
  Remove context-restore trap.
  Remove sigtrap_trampoline and exception_trampoline, sigtrap_emulator,
    sigtrap_wrapper, and handle_win32_exception_wrapper.
  Change handle_exception to call HANDLE-WIN32-EXCEPTION and
    sigtrap_wrapper directly.
  Remove the saved context and exception from the SEH frame structure.

17 years ago1.0.1.16:
William Harold Newman [Tue, 9 Jan 2007 16:27:20 +0000 (16:27 +0000)]
1.0.1.16:
logged bugs reported by Ariel Badichi

17 years ago1.0.1.15:
Juho Snellman [Tue, 9 Jan 2007 03:25:02 +0000 (03:25 +0000)]
1.0.1.15:
        Add RESTART-FRAME command to the debugger, reduce the runtime cost
        of the debug catch tags.

        * Change the debugger catch tag to funcall the thrown value, rather
          than just returning it.
        * Make RETURN throw a thunk that returns an appropriate value,
          and RESTART-FRAME throw a thunk that calls the same function again
          with the same arguments.
        * Always emit the debug catch with a static tag, rather than consing
          up a new tag every time the catch is entered.
        * To ensure that the tags are unique, the RETURN and RESTART-FRAME
          commands will first cons up a new tag, find the right catch-block
          structure on the stack, assign the new tag to the tag slot, and
          then throw the new tag.
        * Don't add the catch tags to some uninteresting (usually
          compiler-generated) functions, to reduce the compilation speed
          hit.

17 years ago1.0.1.14: Make sb-posix:mkstemp return both the FD and the file name.
Andreas Fuchs [Mon, 8 Jan 2007 14:29:41 +0000 (14:29 +0000)]
1.0.1.14: Make sb-posix:mkstemp return both the FD and the file name.

mkstemp(3) takes a template string as an "out" parameter. The sb-posix
README states that this should be returned as a second value, so we do that.
(From a user report that the template string would not get properly
clobbered in post-1.0 sbcls. Ow.)

17 years ago1.0.1.13:
Christophe Rhodes [Mon, 8 Jan 2007 10:30:22 +0000 (10:30 +0000)]
1.0.1.13:
Collect output from building contribs into files in output/, for
easier remote debugging.
... also a typo fix for the manual from sb-bsd-sockets
documentation.  (from Hedos on sbcl-devel)

17 years ago1.0.1.12:
Juho Snellman [Mon, 8 Jan 2007 03:26:20 +0000 (03:26 +0000)]
1.0.1.12:
        Provide a better diagnostic for apparently broken
        SB-BSD-SOCKETS installs. Also print a better error message and
        return an error code from make-target-contrib.sh if any
        contribs fail, so that these broken installs are less likely
        to happen.

17 years ago1.0.1.11:
Juho Snellman [Mon, 8 Jan 2007 02:36:23 +0000 (02:36 +0000)]
1.0.1.11:
        1.0.1.6 caused an error to be signaled for READ/WRITE-SEQUENCE
        on unsigned-byte vectors and bivalent streams, which broke
        ASDF-INSTALL. (Reported by Josip Gracin)

17 years ago1.0.1.10:
Juho Snellman [Wed, 3 Jan 2007 20:49:54 +0000 (20:49 +0000)]
1.0.1.10:
        Suppress a spurious full warning when compiling (MAKE-LIST 0) with
        a (SPACE 0) policy. (Reported and fix suggested by James Knight).

17 years ago1.0.1.9:
Juho Snellman [Wed, 3 Jan 2007 20:42:32 +0000 (20:42 +0000)]
1.0.1.9:
        Support executable cores on NetBSD (patch from Richard Kreuter on
        sbcl-devel).

17 years ago1.0.1.8:
Juho Snellman [Tue, 2 Jan 2007 21:15:14 +0000 (21:15 +0000)]
1.0.1.8:
        Handle REQUIRE on non-asdf contrib modules more gracefully for
        :EXECUTABLE cores.

17 years ago1.0.1.7:
Juho Snellman [Tue, 2 Jan 2007 21:11:56 +0000 (21:11 +0000)]
1.0.1.7:
        Display closed over variables in the debugger for code compiled with
        high debug settings.

        * Use :ENVIRONMENT TNs for all closure variables.
        * Allow the debug-info dumper to store debug information for
          variables that were not defined in the function whose debug
          information is being dumped.

17 years ago1.0.1.6:
Juho Snellman [Fri, 29 Dec 2006 01:41:11 +0000 (01:41 +0000)]
1.0.1.6:
        Better error checking for incompatible stream / sequence types in
        READ-SEQUENCE and WRITE-SEQUENCE. (Patch by Tony Martinez, sbcl-devel
        2006-12-05).

17 years ago1.0.1.5:
Juho Snellman [Fri, 29 Dec 2006 01:01:51 +0000 (01:01 +0000)]
1.0.1.5:
        Suppress a bogus style-warning for MAKE-INSTANCE on a class with
        no slots and a non-standard metaclass. (Patch by Matthew Swank).

17 years ago1.0.1.4:
Juho Snellman [Fri, 29 Dec 2006 00:32:14 +0000 (00:32 +0000)]
1.0.1.4:
        Fix Sparc build with gcc 4.1. (Patch from Rex Dieter).

17 years ago1.0.1.3:
Juho Snellman [Thu, 28 Dec 2006 23:48:04 +0000 (23:48 +0000)]
1.0.1.3:
        Oops, initforms for &AUX parameters were evaluated multiple times
        for fast-method-functions. (Reported by Kevin Reid on sbcl-devel).

17 years ago1.0.1.2: support for GBK external format
sa2c [Wed, 27 Dec 2006 00:37:30 +0000 (00:37 +0000)]
1.0.1.2: support for GBK external format
(thanks to Chun Tian (binghe))

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).