sbcl.git
15 years ago1.0.24.30: fixed and tested some more cleanups on hppa-hpux
Nikodemus Siivola [Sat, 10 Jan 2009 11:19:22 +0000 (11:19 +0000)]
1.0.24.30: fixed and tested some more cleanups on hppa-hpux

 * Fix a stray #+ -> #!+.

 * Removed unneeded nops.

 * Explanation of magic numbers (but not yet substituted.)

   (Above changes in patch by Larry Valkama)

 * Fix a bunch of comments in the HPPA backend to use the right number
   of semicolons, and use FIXME-lav instead of FIX-lav to mark things
   (better grepping for the rest of us.)

15 years ago1.0.24.29: fix a typo in documentation
Nikodemus Siivola [Sat, 10 Jan 2009 10:51:13 +0000 (10:51 +0000)]
1.0.24.29: fix a typo in documentation

15 years ago1.0.24.28: make unbind in the runtime zero the value of the binding
Gabor Melis [Fri, 9 Jan 2009 17:47:47 +0000 (17:47 +0000)]
1.0.24.28: make unbind in the runtime zero the value of the binding

... to parallel what the Lisp side does. As far as I see the rationale
for doing that (in doc/internals/specials.texinfo) does not apply here
since signals are blocked when the dynbind functions are called. That
said, instead of adding documentation let's fix it.

15 years ago1.0.24.27: target-thread cosmetics
Gabor Melis [Fri, 9 Jan 2009 16:45:17 +0000 (16:45 +0000)]
1.0.24.27: target-thread cosmetics

- in the docstring of CONDITION-NOTIFY document that the mutex must be held
- remove and explain fixme in CONDITION-WAIT
- respect 80 char limit
- use ; ;; ;;; and ;;;; where appropriate
- fill the comment paragraphs
- add form feeds (^L) to separate pages

15 years ago1.0.24.26: fix release spinlock
Gabor Melis [Fri, 9 Jan 2009 16:43:56 +0000 (16:43 +0000)]
1.0.24.26: fix release spinlock

Both in the runtime and in Lisp releasing a spinlock was a simple
assignment. That doesn't work because the new value may not make it to
main memory by the time another CPU wants to acquire it making it
needlessly slow. Worse, it also allows the CPU to reorder instructions
from the critical section after the release.

There is a spinlock implementation for MIPS in the runtime, but it's
not used as we don't have threads on that platform. I don't know if
it's broken too.

15 years ago1.0.24.25: add volatile after asm in spinlock and swap_lispobjs
Gabor Melis [Fri, 9 Jan 2009 16:42:09 +0000 (16:42 +0000)]
1.0.24.25: add volatile after asm in spinlock and swap_lispobjs

... to prevent the compiler from optimizing away certain calls or
maybe reorder them. Test for swap_lispobj.

15 years ago1.0.24.24: fix threads.test.sh
Gabor Melis [Thu, 8 Jan 2009 17:21:08 +0000 (17:21 +0000)]
1.0.24.24: fix threads.test.sh

... so that it doesn't leave stray sbcl child processes around and it
actually tests what it wants to test.

15 years ago1.0.24.23: fix alien struct struct member offset bug
Christophe Rhodes [Mon, 5 Jan 2009 08:55:20 +0000 (08:55 +0000)]
1.0.24.23: fix alien struct struct member offset bug

No-one uses struct struct members, right?  Well, academics are
notoriously bad at keeping up to dat with good practice...

15 years ago1.0.24.22: mudball of VOP updates for HPPA
Nikodemus Siivola [Sun, 4 Jan 2009 07:49:02 +0000 (07:49 +0000)]
1.0.24.22: mudball of VOP updates for HPPA

 * Based on a mix of the old hppa-code and the mips backend.

 * Patch by Larry Valkama.

15 years ago1.0.24.21: call stub needed to switch between hpux heap-spaces
Nikodemus Siivola [Sun, 4 Jan 2009 07:35:53 +0000 (07:35 +0000)]
1.0.24.21: call stub needed to switch between hpux heap-spaces

 * Patch by Larry Valkama.

15 years ago1.0.24.20: misc HPPA & HPUX updates
Nikodemus Siivola [Sun, 4 Jan 2009 07:23:03 +0000 (07:23 +0000)]
1.0.24.20: misc HPPA & HPUX updates

 * "To make it compile and run".

 * Config.hppa-hpux missed from 1.0.24.18.

 * Patch by Larry Valkama.

15 years ago1.0.24.19: COMPILE-TIME reports timings at millisecond accuracy
Nikodemus Siivola [Sat, 3 Jan 2009 17:05:44 +0000 (17:05 +0000)]
1.0.24.19: COMPILE-TIME reports timings at millisecond accuracy

 * Patch by Luis Oliveira.

15 years ago1.0.24.18: new HPUX specific files
Nikodemus Siivola [Sat, 3 Jan 2009 16:26:22 +0000 (16:26 +0000)]
1.0.24.18: new HPUX specific files

 * Also more separation of linux stuff versus common stuff (hpux vs linux).

 * Patch by Larry Valkama.

15 years ago1.0.24.17: grab-bag of fixes to make hpux-os smile
Nikodemus Siivola [Sat, 3 Jan 2009 16:17:48 +0000 (16:17 +0000)]
1.0.24.17: grab-bag of fixes to make hpux-os smile

 * Patch by Larry Valkama.

15 years ago1.0.24.16: updates on how we deal with fixup on HPPA
Nikodemus Siivola [Sat, 3 Jan 2009 16:14:03 +0000 (16:14 +0000)]
1.0.24.16: updates on how we deal with fixup on HPPA

 * Patch by Larry Valkama.

15 years ago1.0.24.15: contrib fixes for HPPA
Nikodemus Siivola [Sat, 3 Jan 2009 16:10:19 +0000 (16:10 +0000)]
1.0.24.15: contrib fixes for HPPA

 * Fix or disable what breaks in contribs, so not everything breaks.

 * Patch by Larry Valkama.

15 years ago1.0.24.14: fix what seems to be namespace collision by HPUX headers
Nikodemus Siivola [Sat, 3 Jan 2009 16:02:31 +0000 (16:02 +0000)]
1.0.24.14: fix what seems to be namespace collision by HPUX headers

 * Patch by Larry Valkama.

15 years ago1.0.24.13: solve overlapping mmap and munmap slices on HPUX
Nikodemus Siivola [Sat, 3 Jan 2009 15:59:44 +0000 (15:59 +0000)]
1.0.24.13: solve overlapping mmap and munmap slices on HPUX

 * Patch by Larry Valkama.

15 years ago1.0.24.12: adding and fixing the HPUX/HPPA build target
Nikodemus Siivola [Sat, 3 Jan 2009 15:50:46 +0000 (15:50 +0000)]
1.0.24.12: adding and fixing the HPUX/HPPA build target

 * Patch by Larry Valkama.

15 years ago1.0.24.11: stack allocation support for HPPA
Nikodemus Siivola [Sat, 3 Jan 2009 15:41:58 +0000 (15:41 +0000)]
1.0.24.11: stack allocation support for HPPA

 * Thiemo Seufer's MIPS stack allocation work and other things by him
   ported over to HPPA.

 * Patch by Larry Valkama.

15 years ago1.0.24.10: raw slot support for HPPA
Nikodemus Siivola [Sat, 3 Jan 2009 15:39:38 +0000 (15:39 +0000)]
1.0.24.10: raw slot support for HPPA

 * Remove raw slot support workaround on hppa, VOPs implemented
   instead.

 * Patch by Larry Valkama.

15 years ago1.0.24.9: fix overlapping address spaces on sparc
Nikodemus Siivola [Sat, 3 Jan 2009 15:17:44 +0000 (15:17 +0000)]
1.0.24.9: fix overlapping address spaces on sparc

 * Patch by Bruce O'Neel.

15 years ago1.0.24.8: fix scav_lose
Gabor Melis [Fri, 2 Jan 2009 18:37:55 +0000 (18:37 +0000)]
1.0.24.8: fix scav_lose

Used to do one pointer dereferencing too many when printing the
widetag of the lispobj leading to memory faults, ultimately obscuring
the backtrace instead of losing cleanly. Memory faults during gc could
cause all kinds of trouble rendering the backtrace even less
informative.

15 years ago1.0.24.7: CHAR-CODE type derivation
Nikodemus Siivola [Fri, 2 Jan 2009 16:05:28 +0000 (16:05 +0000)]
1.0.24.7: CHAR-CODE type derivation

 * Patch by Paul Khuong.

15 years ago1.0.24.6: OPTIMIZATION #23 is there already
Nikodemus Siivola [Fri, 2 Jan 2009 15:11:08 +0000 (15:11 +0000)]
1.0.24.6: OPTIMIZATION #23 is there already

 * Type information for &REST lists is available after constraint
   propagation.

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.