sbcl.git
15 years ago1.0.24.5: SB-INTROSPECT: rename FUNCTION-ARGLIST to FUNCTION-LAMBDA-LIST
Nikodemus Siivola [Fri, 2 Jan 2009 14:24:03 +0000 (14:24 +0000)]
1.0.24.5: SB-INTROSPECT: rename FUNCTION-ARGLIST to FUNCTION-LAMBDA-LIST

 * Deprecate FUNCTION-ARGLIST.

 * Improve the docstring.

 * Original patch by Tobias Rittweiler.

15 years ago1.0.24.4: SB-INTROSPECT:DEFTYPE-LAMBDA-LIST
Nikodemus Siivola [Fri, 2 Jan 2009 13:55:36 +0000 (13:55 +0000)]
1.0.24.4: SB-INTROSPECT:DEFTYPE-LAMBDA-LIST

 * Patch by Tobias Rittweiler.

15 years ago1.0.24.3: sanity check address spaces
Nikodemus Siivola [Fri, 2 Jan 2009 12:42:08 +0000 (12:42 +0000)]
1.0.24.3: sanity check address spaces

 * Genesis to check that spaces don't overlap.

 * At startup make sure --dynamic-space-size doesn't overflow, or run
   into any space possibly on top of dynamic space. (GENCGC only.)

15 years ago1.0.24.2: CONSTANTP aware GET-SETF-EXPANDER
Nikodemus Siivola [Fri, 2 Jan 2009 11:14:27 +0000 (11:14 +0000)]
1.0.24.2: CONSTANTP aware GET-SETF-EXPANDER

 * Or rather GET-SETF-METHOD-INVERSE -- check for constant arguments,
   which don't need to be rebound. This allows compiler macros for
   SETF-functions to see their constant arguments.

 * This exposes a small thinko in ACCESSOR-VALUES-INTERNAL (something
   gets optimized during PCL build which wasn't before): EARLY-P there
   doesn't mean the method is early.

15 years ago1.0.24.1: Reading from a TWO-WAY-STREAM need not flush the output stream.
Gabor Melis [Thu, 1 Jan 2009 20:50:41 +0000 (20:50 +0000)]
1.0.24.1: Reading from a TWO-WAY-STREAM need not flush the output stream.

In fact, it unnecessarily complicates writing thread-safe code as
readers and writers access the output stream concurrently.

15 years ago1.0.24: release, will be tagged as sbcl_1_0_24
Christophe Rhodes [Wed, 31 Dec 2008 13:27:21 +0000 (13:27 +0000)]
1.0.24: release, will be tagged as sbcl_1_0_24

Also, include build fix for sparc (Juho Snellman / Bruce O'Neel
sbcl-devel 30-12-2008) and mark test :throw :no-such-tag as failing on
x86/linux and x86-64/linux (because they do for me).

15 years ago1.0.23.72: missing NEWS entries for this month
Nikodemus Siivola [Wed, 31 Dec 2008 11:44:37 +0000 (11:44 +0000)]
1.0.23.72: missing NEWS entries for this month

 * Also add fill-column to modeline.

15 years ago1.0.23.71: fix overlapping spaces on OpenBSD
Nikodemus Siivola [Wed, 31 Dec 2008 09:51:47 +0000 (09:51 +0000)]
1.0.23.71: fix overlapping spaces on OpenBSD

 * Patch by Josh Elsasser. Going is despite the freeze since
   overlapping spaces are just plain broken.

 * Also mark THROW NO-SUCH-TAG failing on OpenBSD.

15 years ago1.0.23.70: Add a keyword to DIRECTORY to suppress symlink resolution.
Richard M Kreuter [Fri, 26 Dec 2008 18:33:56 +0000 (18:33 +0000)]
1.0.23.70: Add a keyword to DIRECTORY to suppress symlink resolution.

* Contributed by TC-Rucho.

15 years ago1.0.23.69: Add docstrings to SB-BSD-SOCKETS:SOCKET-MAKE-STREAM.
Richard M Kreuter [Fri, 26 Dec 2008 15:43:25 +0000 (15:43 +0000)]
1.0.23.69: Add docstrings to SB-BSD-SOCKETS:SOCKET-MAKE-STREAM.

* Contributed by Robert Goldman.

15 years ago1.0.23.68: Cleanups in constraint propagation.
Richard M Kreuter [Fri, 26 Dec 2008 14:19:06 +0000 (14:19 +0000)]
1.0.23.68: Cleanups in constraint propagation.

* Three changes here:

(1) Have the conset's min slot always be a fixnum.  The min and max
    slots should now conform to CL sequence bounding index idioms.

(2) Update the extrema in parallel, rather than in sequence, in the
    conset-union, -intersection, -difference.

(3) Remove some noise from conset-intersection that probably included
    an off-by-one error.

* Fixes a bug reported by Tobias C. Rittweiler on sbcl-devel.

15 years ago1.0.23.67: Fix MIPS FIXED-ALLOC VOP.
Thiemo Seufer [Thu, 25 Dec 2008 20:36:19 +0000 (20:36 +0000)]
1.0.23.67: Fix MIPS FIXED-ALLOC VOP.

  * No observable change in behaviour. Apparently nothing ever allocates
    a non-pointer referenced object via this code path.

15 years ago1.0.23.66: Calculate array sizes in a more reliable way.
Thiemo Seufer [Tue, 23 Dec 2008 14:10:23 +0000 (14:10 +0000)]
1.0.23.66: Calculate array sizes in a more reliable way.

  * The old implementation depended on the array header size being
    an even number of words.

  * Also, another micro-optimization for MIPS.

15 years ago1.0.23.65: MIPS runtime micro-optimization.
Thiemo Seufer [Tue, 23 Dec 2008 00:52:13 +0000 (00:52 +0000)]
1.0.23.65: MIPS runtime micro-optimization.

15 years ago1.0.23.64: fixed bug 395
Nikodemus Siivola [Mon, 22 Dec 2008 13:38:04 +0000 (13:38 +0000)]
1.0.23.64: fixed bug 395

 * Add support for base-strings in fill-pointer output streams.

 * Also fix a bug revealed by this change in derivation of
   ARRAY-ELEMENT-TYPE return type.

15 years ago1.0.23.63: WITH-HASH-TABLE-ITERATOR lambda-list beautification
Nikodemus Siivola [Mon, 22 Dec 2008 12:00:24 +0000 (12:00 +0000)]
1.0.23.63: WITH-HASH-TABLE-ITERATOR lambda-list beautification

 * Iterator lambda-list name is NAME, not FUNCTION, which was a bit
   confusing since it is bound to a macro.

 * Thanks to Tobias Rittweiler.

15 years ago1.0.23.62: fix bug 357
Nikodemus Siivola [Mon, 22 Dec 2008 10:50:35 +0000 (10:50 +0000)]
1.0.23.62: fix bug 357

 Originally reported by Bruno Haible, more recently by Stephen Wilson.

 * SHARED-INITIALIZE (SLOT-OBJECT) should not check structure slots
   versus +SLOT-UNBOUND+: uninitialized slots are zeroed. Since adding
   slots to structure classes cannot cause those slots to be added to
   structure instances, we don't really have to check for boundness at
   all.

 * SB-PCL::STRUCTURE-TYPE-SLOT-DESCRIPTION-LIST and
   SB-PCL::MAKE-STRUCTURE-CLASS-DEFSTRUCT-FORM did not take overridden
   slot specifications into account, and the latter also omitted
   initform and type information.

 * Delete SB-PCL::ALLOCATE-STRUCTURE-INSTANCE, unused.

 * ALLOCATE-INSTANCE (STRUCTURE-OBJECT) should not fall back on
   ALLOCATE-STANDARD-INSTANCE.

15 years ago1.0.23.62: Micro-optimization for MIPS' SYMBOL-HASH VOP.
Thiemo Seufer [Sun, 21 Dec 2008 17:55:18 +0000 (17:55 +0000)]
1.0.23.62: Micro-optimization for MIPS' SYMBOL-HASH VOP.

  * MIPS sucks now less.

15 years ago1.0.23.61: tweak concurrent hash-table access check
Nikodemus Siivola [Sun, 21 Dec 2008 15:03:11 +0000 (15:03 +0000)]
1.0.23.61: tweak concurrent hash-table access check

 * Moves the with-concurrent-access-check inside the body where
   the lock is already held. Patch by Attila Lendvai.

 * Fix various attributions in NEWS, caught by TCR.

15 years ago1.0.23.60: fix bug 354: XEPs in backtraces, properly this time
Nikodemus Siivola [Sun, 21 Dec 2008 09:51:01 +0000 (09:51 +0000)]
1.0.23.60: fix bug 354: XEPs in backtraces, properly this time

 * Don't terminate the block in MAYBE-TERMINATE-BLOCK even if the node
   is a call to a function that never returns if it is also the tail
   end of a XEP -- this allows TCO to deal with the XEP.

 * More stale bugs:
   ** 143 -- cannot replicate, interrupt handling has been robustified
      and partially redesigned since than, so confidence that this is
      really gone is reasonably high.
   ** 238 -- has gotten fixed at some point.

15 years ago1.0.23.59: bug 3b has been fixed a while now
Nikodemus Siivola [Fri, 19 Dec 2008 19:00:01 +0000 (19:00 +0000)]
1.0.23.59: bug 3b has been fixed a while now

 * Test case added.

15 years ago1.0.23.58: bug 405 has been fixed a while now
Nikodemus Siivola [Fri, 19 Dec 2008 18:03:09 +0000 (18:03 +0000)]
1.0.23.58: bug 405 has been fixed a while now

 * Fixed as of 1.0.19.32.

15 years ago1.0.23.57: rewrite bug 217
Nikodemus Siivola [Fri, 19 Dec 2008 16:14:58 +0000 (16:14 +0000)]
1.0.23.57: rewrite bug 217

 * Case A is a non-issue. SBCL interprets "unpredictable but harmless"
   to mean "anything, but heap will no be corrupted, data lost, etc"
   -- that is, an error may or may not be signalled, but it the lisp
   session will remain sane and operable.

 * Case B is negated by the portability argument: since specifying both
   is unspecified, we should not build useful-seeming extensions on top
   of it, as it will only create portability problems for users.

 * Case C remains partially valid, except for the runtime WARNINGs.
   Integrated into the new text.

15 years ago1.0.23.56: special variables cause special cases in CLOS cleverness
Nikodemus Siivola [Fri, 19 Dec 2008 15:20:43 +0000 (15:20 +0000)]
1.0.23.56: special variables cause special cases in CLOS cleverness

 * As we cannot reliably ensure nothing calls SET or (SETF
   SYMBOL-VALUE) on the special variable, we need to disable
   optimizations perutation vector optimizations for them.

 * For the same reason we cannot implicitly declare types for even
   local specials in DEFMETHODs.

 * Delete bug 276: the issue it refers to was fixed back when we
   stopped inserting declarations for special variables.

15 years ago1.0.23.55: three stale bugs
Nikodemus Siivola [Fri, 19 Dec 2008 13:46:34 +0000 (13:46 +0000)]
1.0.23.55: three stale bugs

 * 332, 369, 380: added test-cases which pass.

15 years ago1.0.23.54: compiler-macros for WRITE and WRITE-TO-STRING
Nikodemus Siivola [Thu, 18 Dec 2008 20:41:57 +0000 (20:41 +0000)]
1.0.23.54: compiler-macros for WRITE and WRITE-TO-STRING

 * The common use-cases have only constant keywords, but due to the
   way they are defined inlining doesn't really help -- so do it with
   compiler-macros, which bind only those specials specified in the
   call.

15 years ago1.0.23.53: FORMAT performance tweaking 2
Nikodemus Siivola [Thu, 18 Dec 2008 20:39:38 +0000 (20:39 +0000)]
1.0.23.53: FORMAT performance tweaking 2

 * Rearrange FORMAT-FIXED and open code guts of FORMAT-FIXED-AUX for
   both single and double-float cases, gaining ~5% speedup for ~F.

15 years ago1.0.23.52: FORMAT performance tweaking
Nikodemus Siivola [Thu, 18 Dec 2008 11:56:47 +0000 (11:56 +0000)]
1.0.23.52: FORMAT performance tweaking

 * Handle plain ~D using explicitly bindings and OUTPUT-OBJECT to
   avoid paying for WRITE keyword argument parsing.

 * Compile format control strings when SPEED = SPACE.

 * Always transform FORMAT calls when the second argument is a
   function -- trying to save space there doesn't make much sense.

15 years ago1.0.23.51: wrong return value from READ-SEQUENCE :START on file streams
Nikodemus Siivola [Thu, 18 Dec 2008 10:48:21 +0000 (10:48 +0000)]
1.0.23.51: wrong return value from READ-SEQUENCE :START on file streams

 * Regression since 1.0.12.22.

 * Reported by Daniel Herring, patch by Paul Huong.

 * Also tweak the "write a line with bignum characters test" to run a bit faster.

15 years ago1.0.23.50: Less magic constants in the MIPS backend.
Thiemo Seufer [Thu, 18 Dec 2008 00:53:15 +0000 (00:53 +0000)]
1.0.23.50: Less magic constants in the MIPS backend.

15 years ago1.0.23.49: Eliminate FCN as function moniker.
Thiemo Seufer [Wed, 17 Dec 2008 20:36:18 +0000 (20:36 +0000)]
1.0.23.49: Eliminate FCN as function moniker.

15 years ago1.0.23.48: REPL recovers from *READ-SUPPRESS* T with a warning
Nikodemus Siivola [Wed, 17 Dec 2008 17:34:17 +0000 (17:34 +0000)]
1.0.23.48: REPL recovers from *READ-SUPPRESS* T with a warning

 * Reported by Daniel Herring.

15 years ago1.0.23.47: binaries built on now Leopard run on Tiger as well
Nikodemus Siivola [Wed, 17 Dec 2008 17:12:57 +0000 (17:12 +0000)]
1.0.23.47: binaries built on now Leopard run on Tiger as well

 * -mmacosx-version-min=10.4 needed in LINKFLAGS as well.

15 years ago1.0.23.46: Remove redundant uses of zero-tn in the MIPS backend.
Thiemo Seufer [Wed, 17 Dec 2008 14:43:26 +0000 (14:43 +0000)]
1.0.23.46: Remove redundant uses of zero-tn in the MIPS backend.

15 years ago1.0.23.45: Remove superfluous register :offsets in the MIPS backend.
Thiemo Seufer [Wed, 17 Dec 2008 14:42:15 +0000 (14:42 +0000)]
1.0.23.45: Remove superfluous register :offsets in the MIPS backend.

15 years ago1.0.23.44: Nicer code for MIPS, lifted from the SPARC backend.
Thiemo Seufer [Wed, 17 Dec 2008 14:39:28 +0000 (14:39 +0000)]
1.0.23.44: Nicer code for MIPS, lifted from the SPARC backend.

  * Add some :note annotations.

  * Kill a few magic constants.

15 years ago1.0.23.43: More consistent coding style for mips/array.lisp
Thiemo Seufer [Wed, 17 Dec 2008 14:36:11 +0000 (14:36 +0000)]
1.0.23.43: More consistent coding style for mips/array.lisp

15 years ago1.0.23.42: don't grab *WORLD-LOCK* in CLASSOID-TYPEP
Nikodemus Siivola [Tue, 16 Dec 2008 16:37:07 +0000 (16:37 +0000)]
1.0.23.42: don't grab *WORLD-LOCK* in CLASSOID-TYPEP

 * A shoddy bandaid to make Slime less prone to deadlock against the
   compiler when using :SPAWN.

 * Proper fix is to be much, much more principled about grabbing the
   *WORLD-LOCK* in the compiler: we should only ever grab it in places
   where we cannot end up calling arbitary user code while holding
   it.

15 years ago1.0.23.41: fix DX-COMBINATION-P
Nikodemus Siivola [Mon, 15 Dec 2008 09:40:07 +0000 (09:40 +0000)]
1.0.23.41: fix DX-COMBINATION-P

 * Punt on multiple result-uses. Reported by Pascal Costanza and
   Thiemo Seufer.

 * Also check for clean arg flow all cases.

15 years ago1.0.23.40: export page sizes to C with LU suffix
Nikodemus Siivola [Sat, 13 Dec 2008 10:52:07 +0000 (10:52 +0000)]
1.0.23.40: export page sizes to C with LU suffix

 * Rename GENCGC-PAGE-SIZE and *BACKEND-PAGE-SIZE* to
   GENCGC-PAGE-BYTES and *BACKEND-PAGE-BYTES* respectively.

 * Clean up constant.h generation: instead of guessing when to add an
   U suffix, specify when the value is "large", and then add an LU
   suffix.

 * Without the LU suffix some C compilers chose to truncate results of
   some operations where these quantities featured, leading at least
   to an upper limit of #xffff0000 bytes in dynamic space on certain
   64 bit systems.

15 years ago1.0.23.39: Red Hat Enterprise 3 mmap randomization workaround
Nikodemus Siivola [Fri, 12 Dec 2008 15:51:28 +0000 (15:51 +0000)]
1.0.23.39: Red Hat Enterprise 3 mmap randomization workaround

 * Patch by Thomas Burdick: RHEL 3 suffers from the randomized mmap
   nonesense, and reports kernel version 2.4.21. With the attached
   patch, it SBCL runs correctly on these machines.

15 years ago1.0.23.38: fix bug 430 (stack alloc by nested defstruct constructors)
Nikodemus Siivola [Fri, 12 Dec 2008 13:05:23 +0000 (13:05 +0000)]
1.0.23.38: fix bug 430 (stack alloc by nested defstruct constructors)

 * Mark lambdas introduced by the compiler as such, so that
   LAMBDA-SYSTEM-LAMBDA-P returns true for them.

 * Allow USE-GOOD-FOR-DX-P to inspect COMBINATIONs with CLAMBDA
   functionals: if the return value of the function always originates
   from a known DX-capable combination, and the arguments of the
   original combination are used only by the DX-capable combination,
   consider the original combination good for DX.

 * Allow USE-GOOD-FOR-DX-P to inspect REFs to LAMBDA-VARs: if the var
   is bound by a system lambda, has no other refs, is never set, gets
   its value from a single-value combination, and the LVAR it gets its
   value from is good for DX ... then the REF is good for DX as well.

 * HANDLE-NESTED-DYNAMIC-EXTENT-LVARS handles REFs as well by
   recursing on the lvar the REF gets its value from.

15 years ago1.0.23.37: more CLOS and classoid thread safety
Nikodemus Siivola [Fri, 12 Dec 2008 12:27:00 +0000 (12:27 +0000)]
1.0.23.37: more CLOS and classoid thread safety

 * Rename *BIG-COMPILER-LOCK* as *WORLD-LOCK*.

 * Use it to protect classoids, layouts/wrappers, obsolete instance
   updating, etc.

 * Rename sevaral functions which assume their callers are holding the
   lock to have % prefix. Perhaps we should have a separate prefix
   convention for "requires called to lock"? Or a nifty macro layer?
   (Actually there are probably places where read/write locks (or
   STM!)  would be a win...)

 * ENSURE-CLASS-USING-CLASS needs to set up type translations only
   while PCL is being build.

 * DEFCLASS and ENSURE-CLASS-USING-CLASS are now expected to be thread
   safe.

 * Test-case for parallel defclass and make-instance.

15 years ago1.0.23.36: typecheck :ALLOCATION :CLASS slot initforms in safe code
Nikodemus Siivola [Fri, 12 Dec 2008 10:57:52 +0000 (10:57 +0000)]
1.0.23.36: typecheck :ALLOCATION :CLASS slot initforms in safe code

 * Initforms for shared slots are not applied at make-instance, but at
   class definition time. (See CLHS 4.3.6 and 7.1.) Reported by Didier
   Verna.

15 years ago1.0.23.35: CLOS tweaking
Nikodemus Siivola [Fri, 12 Dec 2008 10:55:34 +0000 (10:55 +0000)]
1.0.23.35: CLOS tweaking

 * Muffle undefined function style-warning for slot-accessors. The
   slot-accessor name is an internal detail, and defining functions
   accessing slots before classes with such slots are defined is fine.

 * Don't double-fetch slot-definition-initfunction in
   SHARED-INITIALIZE (SLOT-OBJECT).

 * Don't double-fetch various slot-definition properties in
   COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS, and declare
   type-check-functions as functions.

15 years ago1.0.23.34: A nicer register dump for ldb.
Thiemo Seufer [Thu, 11 Dec 2008 20:38:32 +0000 (20:38 +0000)]
1.0.23.34: A nicer register dump for ldb.

15 years ago1.0.23.33: Stack-allocatable vectors for MIPS.
Thiemo Seufer [Thu, 11 Dec 2008 20:28:13 +0000 (20:28 +0000)]
1.0.23.33: Stack-allocatable vectors for MIPS.

15 years ago1.0.23.32: Flush icache for MIPS alien callback stub.
Thiemo Seufer [Thu, 11 Dec 2008 20:26:00 +0000 (20:26 +0000)]
1.0.23.32: Flush icache for MIPS alien callback stub.

15 years ago1.0.23.31: NFP is not a descriptor-reg.
Thiemo Seufer [Wed, 10 Dec 2008 22:11:51 +0000 (22:11 +0000)]
1.0.23.31: NFP is not a descriptor-reg.

15 years ago1.0.23.30: Don't export storage class names.
Thiemo Seufer [Wed, 10 Dec 2008 22:09:59 +0000 (22:09 +0000)]
1.0.23.30: Don't export storage class names.

15 years ago1.0.23.29: Specify the required double-stack alignment for MIPS.
Thiemo Seufer [Wed, 10 Dec 2008 22:07:06 +0000 (22:07 +0000)]
1.0.23.29: Specify the required double-stack alignment for MIPS.

15 years ago1.0.23.28: defconstant -> def!constant in the MIPS backend.
Thiemo Seufer [Wed, 10 Dec 2008 22:04:13 +0000 (22:04 +0000)]
1.0.23.28: defconstant -> def!constant in the MIPS backend.

15 years ago1.0.23.27: Less magic constants in the MIPS backend.
Thiemo Seufer [Wed, 10 Dec 2008 22:01:07 +0000 (22:01 +0000)]
1.0.23.27: Less magic constants in the MIPS backend.

15 years ago1.0.23.26: AMOPly correct defaulting of direct superclasses
Nikodemus Siivola [Fri, 5 Dec 2008 13:47:37 +0000 (13:47 +0000)]
1.0.23.26: AMOPly correct defaulting of direct superclasses

  "The class standard-object is the default direct superclass of the
  class standard-class. When an instance of the class standard-class
  is created, and no direct superclasses are explicitly specified, it
  defaults to the class standard-object."

  "The same is true for funcallable-standard-class and
  funcallable-standard-object."

  * Add :DEFAULT-INITARGS to that effect.

15 years ago1.0.23.25: better errors for bogus RECURSIVE-P in reader
Nikodemus Siivola [Fri, 5 Dec 2008 13:22:50 +0000 (13:22 +0000)]
1.0.23.25: better errors for bogus RECURSIVE-P in reader

 * When RECURSIVE-P was true in a non-recursive context, we used to
   signal an unbound-variable error. Now signal a sensible
   reader-error instead.

 * Patch by Tobias Rittweiler. Also apologies for constant mistyping
   of his name: mentally s/Ritter/Ritt/ in historical commit
   messages...

15 years ago1.0.23.24: fix bad test for ARRAY-STORAGE-VECTOR
Nikodemus Siivola [Fri, 5 Dec 2008 13:16:21 +0000 (13:16 +0000)]
1.0.23.24: fix bad test for ARRAY-STORAGE-VECTOR

 * How many problems can a trivial change have? Moral: don't do manual
   cherry-picking. It always goes wrong.

15 years ago1.0.23.23: properly rename SIMPLE-ARRAY-VECTOR to ARRAY-STORAGE-VECTOR
Nikodemus Siivola [Fri, 5 Dec 2008 12:58:51 +0000 (12:58 +0000)]
1.0.23.23: properly rename SIMPLE-ARRAY-VECTOR to ARRAY-STORAGE-VECTOR

 * Missed package-data-list.lisp-expr from last commit.

15 years ago1.0.23.22: rename SIMPLE-ARRAY-VECTOR to ARRAY-STORAGE-VECTOR
Nikodemus Siivola [Fri, 5 Dec 2008 11:31:39 +0000 (11:31 +0000)]
1.0.23.22: rename SIMPLE-ARRAY-VECTOR to ARRAY-STORAGE-VECTOR

 * Allow fething the underlying vector of any non-displaced array.

15 years ago1.0.23.21: Stack allocated conses for MIPS.
Thiemo Seufer [Fri, 5 Dec 2008 07:01:39 +0000 (07:01 +0000)]
1.0.23.21: Stack allocated conses for MIPS.

15 years ago1.0.23.20: check for standard readtable modification
Nikodemus Siivola [Thu, 4 Dec 2008 19:02:08 +0000 (19:02 +0000)]
1.0.23.20: check for standard readtable modification

 * CLHS says that frobbing the standard readtable is undefined.

 * Patch by Tobias Ritterweiler.

15 years ago1.0.23.19 deja vu
Nikodemus Siivola [Thu, 4 Dec 2008 18:50:24 +0000 (18:50 +0000)]
1.0.23.19 deja vu

 (missing version.lisp-expr update for last commit)

15 years ago1.0.23.19: cosmetic reader changes
Nikodemus Siivola [Thu, 4 Dec 2008 18:18:22 +0000 (18:18 +0000)]
1.0.23.19: cosmetic reader changes

 * Patch by Tobias Ritterweiler, slightly mangled by yours truly.
    ** Convert macros to functions.
    ** Remove various FIXMEs.
    ** Update comments.

15 years ago1.0.23.18: SET-[DISPATCH-]MACRO-CHARACTER fixes
Nikodemus Siivola [Thu, 4 Dec 2008 16:50:14 +0000 (16:50 +0000)]
1.0.23.18: SET-[DISPATCH-]MACRO-CHARACTER fixes

 * Patch by Tobias Ritterweiler, plus tests and making S-D-M-C return T.

15 years ago1.0.23.17: new function: SIMPLE-ARRAY-VECTOR
Nikodemus Siivola [Thu, 4 Dec 2008 10:01:04 +0000 (10:01 +0000)]
1.0.23.17: new function: SIMPLE-ARRAY-VECTOR

 * For users to extract the underlying vector from a multidimensional
   array. Warn about implementation-detail nature of this.

 * Add Miscellaneuous Extensions section to Beyond ANSI chapter in the
   manual.

15 years ago1.0.23.16: more generic assembly op optimizations on x86 and x86-64
Nikodemus Siivola [Wed, 3 Dec 2008 16:31:10 +0000 (16:31 +0000)]
1.0.23.16: more generic assembly op optimizations on x86 and x86-64

 * Cleanup: replace bunch of magic numbers with fixnum-tag-mask and
   n-fixnum-tag-bits.

 * More cases of "one test to check both argument types against fixnum".

 * Use CMOV where appropriate. (Thanks to Vitaly Mayatskikh)

15 years ago1.0.23.15: GET-MUTEX to set new mutex owner unithreaded platforms
Nikodemus Siivola [Wed, 3 Dec 2008 13:13:07 +0000 (13:13 +0000)]
1.0.23.15: GET-MUTEX to set new mutex owner unithreaded platforms

 * Can't believe no-one has complained about this...

15 years ago1.0.23.14: fix CheyneyGC build
Nikodemus Siivola [Tue, 2 Dec 2008 19:15:30 +0000 (19:15 +0000)]
1.0.23.14: fix CheyneyGC build

 * Tested on PPC/Darwin.

15 years ago1.0.23.13: missing declaration from Cheyney GC port (broken by recent GC changes)
Nikodemus Siivola [Tue, 2 Dec 2008 17:43:34 +0000 (17:43 +0000)]
1.0.23.13: missing declaration from Cheyney GC port (broken by recent GC changes)

 * Thanks to Larry Valkama

15 years ago1.0.23.12: release checklist
Nikodemus Siivola [Tue, 2 Dec 2008 09:43:23 +0000 (09:43 +0000)]
1.0.23.12: release checklist

 * From WHN via CSR & kreuter.

15 years ago1.0.23.11: Typecheck late-bound calls too
Paul Khuong [Tue, 2 Dec 2008 04:36:13 +0000 (04:36 +0000)]
1.0.23.11: Typecheck late-bound calls too

 * Ensures that the compiler can't be confused into IR2 converting
   bad `late-bound' calls like (funcall 'cons 1).

   Reported by madnificient on #lisp

15 years ago1.0.23.10: allocate code objects using allocation CODE_PAGE_FLAG
Nikodemus Siivola [Mon, 1 Dec 2008 20:08:52 +0000 (20:08 +0000)]
1.0.23.10: allocate code objects using allocation CODE_PAGE_FLAG

 (Code and data separation 5.)

 * CODE_PAGE_FLAG == BOXED_PAGE_FLAG|UNBOXED_PAGE_FLAG, which may or
   may not be better then having a separate bit for it -- but seemed
   easier to implement and doesn't seem too horrible.

 * Define page predicates instead of manually open coding things all
   over the place. Also a convenient way to make sure we catch all the
   places where == needs to be changed to & when checking for boxed
   pages, etc.

 * trans_code_header keeps code objects on code pages.

 * Take separated code pages into account when pinning: since
   code-objects live on their own pages, we get most of the accuracy
   benefit of the scanning by just checking for code_page_p.

   Similarly, there is no need to do a full scan unless
   is_lisp_pointer is true.

15 years ago1.0.23.9: extend pa_alloc to accept a page_type_flag
Nikodemus Siivola [Mon, 1 Dec 2008 20:01:39 +0000 (20:01 +0000)]
1.0.23.9: extend pa_alloc to accept a page_type_flag

 (Code and data separation 4/5.)

 * Define alloc() and pa_alloc() in terms of a new function,
   general_alloc(), which accepts a page_type_flag.

   Guts of old alloc() are now called general_alloc_internal(), called
   by general_alloc() after selecting the region to use, and locking
   if using a non-thread-local region.

15 years ago1.0.23.8: factor out similar code from gc_alloc_large and gc_alloc_update_page_tables
Nikodemus Siivola [Mon, 1 Dec 2008 19:51:22 +0000 (19:51 +0000)]
1.0.23.8: factor out similar code from gc_alloc_large and gc_alloc_update_page_tables

 (Code and data separation 3/5.)

 * New functions: generation_alloc_start_page and set_generation_alloc_start_page.

15 years ago1.0.23.7: introduce page type flags
Nikodemus Siivola [Mon, 1 Dec 2008 19:41:06 +0000 (19:41 +0000)]
1.0.23.7: introduce page type flags

 (Code and data separation 2/5.)

 * Use page_type_flag instead of unboxed/boxed booleans in
   gc_find_freeish_pages, gc_alloc_new_region, gc_alloc_large,
   gc_alloc_with_region, and gc_alloc_update_page_tables.

 * Similarly use page_type_flag instead of unboxed/boxed boolean in
   gc_general_alloc. Also make it static inline on GENCGC platforms,
   and move to gc-internal.h (since the page_type_flag is constant in
   every call by inlining we get rid of the branch to select the
   region, whoopee.)

15 years ago1.0.23.6: move code-object allocation to C side on x86 and x86-64
Nikodemus Siivola [Mon, 1 Dec 2008 19:32:33 +0000 (19:32 +0000)]
1.0.23.6: move code-object allocation to C side on x86 and x86-64

 (Code and data separation 1/5.)

 * Replace VOPs with alloc_code in alloc.c.

15 years ago1.0.23.5: Make sb-grovel's generated files not need it at runtime.
Richard M Kreuter [Mon, 1 Dec 2008 17:35:36 +0000 (17:35 +0000)]
1.0.23.5: Make sb-grovel's generated files not need it at runtime.

15 years ago1.0.23.4: fix error signalling from (SETF FILL-POINTER)
Nikodemus Siivola [Mon, 1 Dec 2008 15:44:41 +0000 (15:44 +0000)]
1.0.23.4: fix error signalling from (SETF FILL-POINTER)

 * Thanks to Stas Boukarev.

15 years ago1.0.23.3: faster generic arithmetic dispatch on x86 and x86-64
Nikodemus Siivola [Mon, 1 Dec 2008 15:32:21 +0000 (15:32 +0000)]
1.0.23.3: faster generic arithmetic dispatch on x86 and x86-64

 * Single branch to check if both arguments are fixnums, rerorder fixnum branch to
   be the fallthru.

15 years ago1.0.23.2: STRING->UTF8 did not handle the start argument correctly
Nikodemus Siivola [Mon, 1 Dec 2008 15:28:35 +0000 (15:28 +0000)]
1.0.23.2: STRING->UTF8 did not handle the start argument correctly

 * Thank to Luis Oliveira.

15 years ago1.0.23.1: declaring the type of a bound variable gives :DECLARED as LEAF-WHERE-FROM
Nikodemus Siivola [Mon, 1 Dec 2008 15:25:36 +0000 (15:25 +0000)]
1.0.23.1: declaring the type of a bound variable gives :DECLARED as LEAF-WHERE-FROM

 * Makes SB-CLTL2 do the right thing with local declarations. Reported
   by Larry D'Anna.

15 years ago1.0.23: release, will be tagged as sbcl_1_0_23.
Richard M Kreuter [Mon, 1 Dec 2008 15:04:33 +0000 (15:04 +0000)]
1.0.23: release, will be tagged as sbcl_1_0_23.

15 years ago1.0.22.22: (SETF FIND-CLASSOID) to drop DEFTYPE lambda-lists and source-locations
Nikodemus Siivola [Mon, 1 Dec 2008 07:40:08 +0000 (07:40 +0000)]
1.0.22.22: (SETF FIND-CLASSOID) to drop DEFTYPE lambda-lists and source-locations

 * Going in despite the freeze, as this is a regression of sorts as of
   1.0.22.8.

 * Don't store early source-locations for defined types: use
   WITH-SOURCE-LOCATION to ensure we convert them to proper
   source-locations.

 Thanks to Tobias Ritterweiler for the heads-up.

15 years ago1.0.22.21: Fix return value from DEFTYPE, broken in 1.0.22.20.
Richard M Kreuter [Mon, 1 Dec 2008 03:26:24 +0000 (03:26 +0000)]
1.0.22.21: Fix return value from DEFTYPE, broken in 1.0.22.20.

15 years ago1.0.22.20: Make a stab at having DEFTYPE types replace structure types.
Richard M Kreuter [Sun, 30 Nov 2008 20:37:22 +0000 (20:37 +0000)]
1.0.22.20: Make a stab at having DEFTYPE types replace structure types.

* Probably a still bit wrong around the edges, but seems to work.

15 years ago1.0.22.19: Canonicalize whitespace in .asd files.
Richard M Kreuter [Mon, 24 Nov 2008 15:56:11 +0000 (15:56 +0000)]
1.0.22.19: Canonicalize whitespace in .asd files.

15 years ago1.0.22.18: select() and EAGAIN
Gabor Melis [Fri, 14 Nov 2008 14:07:46 +0000 (14:07 +0000)]
1.0.22.18: select() and EAGAIN

On at least x86 linux 2.6.26 select() can return EAGAIN under load. I
guess this is what the commit message of 1.0.21.8 refers to as "what
happens in the wild" as EAGAIN is not mentioned in the select man
page.

15 years ago1.0.22.17: fix cross-compile from CMUCL 19e
Brian Mastenbrook [Fri, 7 Nov 2008 15:01:36 +0000 (15:01 +0000)]
1.0.22.17: fix cross-compile from CMUCL 19e

15 years ago1.0.22.16: mkdtemp is unimplemented on Solaris
Brian Mastenbrook [Wed, 5 Nov 2008 03:46:46 +0000 (03:46 +0000)]
1.0.22.16: mkdtemp is unimplemented on Solaris

 * ... so don't fail SB-POSIX tests because it's not there.

15 years ago1.0.22.15: 16 byte align assembly routines on x86 and x86-64
Nikodemus Siivola [Tue, 4 Nov 2008 18:56:27 +0000 (18:56 +0000)]
1.0.22.15: 16 byte align assembly routines on x86 and x86-64

 * Modern processors like it that way, and x86-64 was mostly there
   already.

 * Also fix a stupid typo in bug 419.

15 years ago1.0.22.14: fix a bug in PPC alien function calls
Brian Mastenbrook [Mon, 3 Nov 2008 21:44:31 +0000 (21:44 +0000)]
1.0.22.14: fix a bug in PPC alien function calls

 * On SVR4 ABI systems (Linux and NetBSD), fix a bogus situation where
   the proper alignment would not be set when a SAP is passed before a
   long long argument.

15 years ago1.0.22.13: fixed bug 426: nested inline expansion failure
Nikodemus Siivola [Mon, 3 Nov 2008 18:09:38 +0000 (18:09 +0000)]
1.0.22.13: fixed bug 426: nested inline expansion failure

 * In RECOGNIZE-KNOWN-CALL, if an inline function has already been
   converted in the component, replace the REF-LEAF with the
   functional.

 * Test cases.

15 years ago1.0.22.12: fix DEFTYPE regression revealed by ansi tests
Nikodemus Siivola [Mon, 3 Nov 2008 17:23:35 +0000 (17:23 +0000)]
1.0.22.12: fix DEFTYPE regression revealed by ansi tests

 * DEFTYPE body can be empty.

15 years ago1.0.22.11: name *pcl-lock*
Nikodemus Siivola [Mon, 3 Nov 2008 15:11:53 +0000 (15:11 +0000)]
1.0.22.11: name *pcl-lock*

 * For your debugging pleasure.

15 years ago1.0.22.10: detect infinite recursion during wrapper validation
Nikodemus Siivola [Mon, 3 Nov 2008 14:33:27 +0000 (14:33 +0000)]
1.0.22.10: detect infinite recursion during wrapper validation

 * Patch by Attila Lendvai. ...still hoping for a test-case, so this
   could be fixed properly.

15 years ago1.0.22.9: SB-INTROSPECT regression from 1.0.22.8
Nikodemus Siivola [Mon, 3 Nov 2008 14:19:33 +0000 (14:19 +0000)]
1.0.22.9: SB-INTROSPECT regression from 1.0.22.8

 * Don't signal an error if no TYPE exists when FIND-DEFINITION-SOURCES-BY-NAME
   is called with :TYPE as the second argument.

15 years ago1.0.22.8: DEFTYPE tweaking
Nikodemus Siivola [Mon, 3 Nov 2008 13:34:32 +0000 (13:34 +0000)]
1.0.22.8: DEFTYPE tweaking

 * If the expansion is a quoted contant, T, or NIL use a closure as
   the expander instead of compiling a separate expander.

 * When using a closure as above, save the source location separately.

 * Use the space saved to the store the DEFTYPE lmabda-list, and make
   DESCRIBE report it.

15 years ago1.0.22.7: Update to ASDF 1.130
Richard M Kreuter [Fri, 31 Oct 2008 20:47:40 +0000 (20:47 +0000)]
1.0.22.7: Update to ASDF 1.130

* Includes fix for circular dependency detection.

15 years ago1.0.22.6: some ANSI-STREAM cleanups & micro-optimization
Nikodemus Siivola [Fri, 31 Oct 2008 18:12:44 +0000 (18:12 +0000)]
1.0.22.6: some ANSI-STREAM cleanups & micro-optimization

 * Make WRITE-LINE dispatch on the type of the stream only once -- not
   for both writing the string and the newline separately.

 * ANSI-STREAM-WRITE-LINE checks the START and END parameters, so
   callers of %WRITE-LINE don't need to.

 * Remove some redundant type checks from WRITE-LINE and WRITE-STRING
   code paths.

 * SB-IMPL::INDENTING-STREAM was unused, delete it. (Note: update your
   Slime!)

15 years ago1.0.22.5: teach DISASSEMBLE about %METHOD-FUNCTIONs
Nikodemus Siivola [Fri, 31 Oct 2008 16:57:36 +0000 (16:57 +0000)]
1.0.22.5: teach DISASSEMBLE about %METHOD-FUNCTIONs

 * Disassemble both the %METHOD-FUNCTION object itself, and the
   associated fast-function.

 * Clarify the disassembler output slightly by prepending it with
   ; disassembly for <function name>.

15 years ago1.0.22.4: symbol macros and type declarations in PCL
Nikodemus Siivola [Fri, 31 Oct 2008 12:52:46 +0000 (12:52 +0000)]
1.0.22.4: symbol macros and type declarations in PCL

* When PCL walks the method body, doing permutation vector
   optimizations, take into account type declarations for symbol
   macros, to get the benefit of the declaration in

   (WITH-SLOTS (X) OBJECT ... (DECLARE (FIXNUM X)) ... (FOO X) ...)

   which currently happens only in DEFUN, where permuation vector
   optimizations do not occur.