sbcl.git
18 years ago0.9.4.56:
Christophe Rhodes [Fri, 9 Sep 2005 17:43:45 +0000 (17:43 +0000)]
0.9.4.56:
Make VALIDATE-SUPERCLASS obey the rules.
... ah, but we need an additional constraint for CLOS classes
to behave: F-S-Cs must have FUNCTION in their CPL, while
S-Cs mustn't.  Otherwise you end up with things which
are functions but whose type-of isn't subtypep
function, and similar disasters.
... document this additional constraint.

18 years ago0.9.4.55:
Christophe Rhodes [Fri, 9 Sep 2005 16:09:51 +0000 (16:09 +0000)]
0.9.4.55:
The class SB-PCL::STD-OBJECT is now useless: delete it
mercilessly.
... this means that there are no direct instances of STD-CLASS
any more: so it can be removed from the braid.
... document that we're no longer nonconforming wrt
{,funcallable-}standard-object

18 years ago0.9.4.54:
Christophe Rhodes [Fri, 9 Sep 2005 14:16:17 +0000 (14:16 +0000)]
0.9.4.54:
Declassification of INSTANCE and FUNCALLABLE-INSTANCE.

It turns out that the classes INSTANCE and
        FUNCALLABLE-INSTANCE, as expressed in instance-pointer-lowtag
and funcallable-instance-widetag, are incompatible with the
MOP's notion of classes: the types INSTANCE and
FUNCALLABLE-INSTANCE are necessarily disjoint (no instance can
have a widetag of anything other than instance-header-widetag),
but FUNCALLABLE-STANDARD-OBJECT is required to be a subclass of
STANDARD-OBJECT, and must therefore have the superclasses of
STANDARD-OBJECT among its superclasses.  If INSTANCE is one of
those, FUNCALLABLE-INSTANCE cannot be, so F-S-Os would not be of
type FUNCALLABLE-INSTANCE (which is wrong); if it is not one of
those, then ordinary S-Os would not be of type INSTANCE (which
is wrong).  CMUCL, at the time of writing, exhibits type system
confusion in this area, as demonstrated by CSR cmucl-imp
2005-09-0x).

So, we need to do something else; probably most straightforward
to make INSTANCE and FUNCALLABLE-INSTANCE named types, as they
are of the same order of specialness as e.g. T -- not quite as
special, but almost.  Some hacking later...

... the usual type system dance.  Play whack-a-mole with test
failures and compilation failures until they all go
away.  Primtype, class, typetran, and so on are
fiddled with.
... somewhat hacky code for determining when a class is subtypep
instance / funcallable-instance.
... different hard-coded constants for genesis; don't make a
special instance-layout, because the instance class is
gone.
... just to prove we've achieved something, make STANDARD-OBJECT
a superclass of FUNCALLABLE-STANDARD-OBJECT.
(Supporting METAOBJECT should be straightforward now)
... many many new tests, both of the before-xc variety (it's
amazing in how many ways I can get the type system
wrong) and of the regular form.  Also add some
ctor tests that aren't exercised yet.

18 years ago0.9.4.53:
Thiemo Seufer [Fri, 9 Sep 2005 11:39:33 +0000 (11:39 +0000)]
0.9.4.53:
Hunt down compiler warnings.

18 years agoWe don't want to adjust pc-offset here, since it potentially misses
Thiemo Seufer [Thu, 8 Sep 2005 08:21:34 +0000 (08:21 +0000)]
We don't want to adjust pc-offset here, since it potentially misses
a branch target.

18 years agoAdd missing trace-table-fun-prologue.
Thiemo Seufer [Thu, 8 Sep 2005 08:16:37 +0000 (08:16 +0000)]
Add missing trace-table-fun-prologue.

18 years agoRemove superfluous package prefixes.
Thiemo Seufer [Thu, 8 Sep 2005 08:11:15 +0000 (08:11 +0000)]
Remove superfluous package prefixes.

18 years agoAlways keep the break instruction in the branch delay slot.
Thiemo Seufer [Thu, 8 Sep 2005 08:09:40 +0000 (08:09 +0000)]
Always keep the break instruction in the branch delay slot.

18 years agoFix mips debug print argument handling.
Thiemo Seufer [Thu, 8 Sep 2005 08:04:48 +0000 (08:04 +0000)]
Fix mips debug print argument handling.

18 years agoRemove unused *internal-error-args* variable.
Thiemo Seufer [Thu, 8 Sep 2005 07:57:23 +0000 (07:57 +0000)]
Remove unused *internal-error-args* variable.

18 years agoCanonicalize in-package argument.
Thiemo Seufer [Thu, 8 Sep 2005 07:25:32 +0000 (07:25 +0000)]
Canonicalize in-package argument.

18 years agoSmall mips-vm.lisp improvement, lifted from the ppc version.
Thiemo Seufer [Thu, 8 Sep 2005 07:23:06 +0000 (07:23 +0000)]
Small mips-vm.lisp improvement, lifted from the ppc version.

18 years agoUse generated labels for the mips list length vop.
Thiemo Seufer [Wed, 7 Sep 2005 23:27:45 +0000 (23:27 +0000)]
Use generated labels for the mips list length vop.

18 years agoThe define-binop subtract accepted too large types.
Thiemo Seufer [Wed, 7 Sep 2005 23:12:58 +0000 (23:12 +0000)]
The define-binop subtract accepted too large types.

18 years agoProtect the last store into the object also by pseudo-atomic.
Thiemo Seufer [Wed, 7 Sep 2005 23:10:22 +0000 (23:10 +0000)]
Protect the last store into the object also by pseudo-atomic.

18 years agoLESS MAGIC NUMBERS.
Thiemo Seufer [Wed, 7 Sep 2005 23:06:19 +0000 (23:06 +0000)]
LESS MAGIC NUMBERS.

18 years agoDon't use signalling adds, we don't handle them.
Thiemo Seufer [Wed, 7 Sep 2005 23:04:46 +0000 (23:04 +0000)]
Don't use signalling adds, we don't handle them.

18 years agoIn the mips sigtrap hander, and for the case of a break instruction in a
Thiemo Seufer [Wed, 7 Sep 2005 23:03:16 +0000 (23:03 +0000)]
In the mips sigtrap hander, and for the case of a break instruction in a
branch delay slot we looked up the error code in the preceeding branch
instruction instead of the break instruction. The result were unhandled
sigtraps which killed SBCL.

18 years agoMake mips undefined_tramp capable of handling continuable errors.
Thiemo Seufer [Wed, 7 Sep 2005 22:56:48 +0000 (22:56 +0000)]
Make mips undefined_tramp capable of handling continuable errors.

18 years agoImplement os_context_fpregister_addr for mips.
Thiemo Seufer [Wed, 7 Sep 2005 22:53:19 +0000 (22:53 +0000)]
Implement os_context_fpregister_addr for mips.

18 years agoFix compiler warning, exit() is defined in <stdlib.h>.
Thiemo Seufer [Wed, 7 Sep 2005 22:51:49 +0000 (22:51 +0000)]
Fix compiler warning, exit() is defined in <stdlib.h>.

18 years agoRename compute-code-from-fn to compute-code-from-lip, except for sparc.
Thiemo Seufer [Wed, 7 Sep 2005 22:23:39 +0000 (22:23 +0000)]
Rename compute-code-from-fn to compute-code-from-lip, except for sparc.

18 years agoUse cheneygc mprotect only on the actually protected memory.
Thiemo Seufer [Wed, 7 Sep 2005 22:21:31 +0000 (22:21 +0000)]
Use cheneygc mprotect only on the actually protected memory.

18 years agoAdjust mips VOP cost for ,set-name-c.
Thiemo Seufer [Wed, 7 Sep 2005 22:20:47 +0000 (22:20 +0000)]
Adjust mips VOP cost for ,set-name-c.

18 years ago0.9.4.32: oops
Gabor Melis [Wed, 7 Sep 2005 13:16:58 +0000 (13:16 +0000)]
0.9.4.32: oops
  * declaim *LAST-ERROR-CONTEXT* special

18 years ago0.9.4.31:
Gabor Melis [Wed, 7 Sep 2005 11:35:12 +0000 (11:35 +0000)]
0.9.4.31:
  * Bind *LAST-ERROR-CONTEXT* to NIL in ACTUALLY-COMPILE. Location for
    compiler notes is not omitted for subsequent compile calls.
    With this fix evaluating (WHEN NIL (PRINT 'HELLO)) twice produces
    the location for the second note, too.

18 years ago0.9.4.30:
Gabor Melis [Wed, 7 Sep 2005 08:25:32 +0000 (08:25 +0000)]
0.9.4.30:
  * added #+-sb-thread conditionals to make timer compile without
    threads and run the tests

18 years ago0.9.4.29:
Christophe Rhodes [Tue, 6 Sep 2005 15:58:55 +0000 (15:58 +0000)]
0.9.4.29:
Make FUNCTIONP and (TYPEP x 'FUNCTION) consistent
... alternate-metaclasses with dd-type funcallable-structure
had better have FUNCTION somewhere in their INHERITS.
... we don't support inheritance in alternate-metaclasses, so
BUG if we ask for it.

18 years ago0.9.4.28: Beane counters
Gabor Melis [Tue, 6 Sep 2005 14:49:53 +0000 (14:49 +0000)]
0.9.4.28: Beane counters
  * exported timer facility
  * fixed UNSCHEDULE-TIMER race: pending interrupts are cancelled
  * thanks, Zach

18 years ago0.9.4.27:
Christophe Rhodes [Tue, 6 Sep 2005 14:29:01 +0000 (14:29 +0000)]
0.9.4.27:
Fix bug reported by Cyrus Harmon (sbcl-devel 2005-08-30)
... %FUN-FUN should call itself recursively when given a
FUNCALLABLE-INSTANCE
... while I'm at it, fix some bugs / inconsistencies in the
general area:
* make slot 0 of FUNCALLABLE-INSTANCEs hold the layout,
like other instances;
* remove the dedicated LAYOUT slot from the objdef for
FUNCALLABLE-INSTANCE;
* make the clos-slots of PCL-FUNCALLABLE-INSTANCE slot
1, as it always should have been.

(The fundamental problem of associating names with functions is
not yet fixed, but at least we no longer get something silly
like #<FUNCTION #<FUNCTION #<FUNCTION ...>>>)

18 years ago0.9.4.26:
Gabor Melis [Sun, 4 Sep 2005 20:14:46 +0000 (20:14 +0000)]
0.9.4.26:
  * added timer/scheduler based on setitimer that works with threads
    (interface not public, yet)
  * with-timeout now uses said scheduler

18 years ago0.9.4.25:
Juho Snellman [Sat, 3 Sep 2005 18:41:30 +0000 (18:41 +0000)]
0.9.4.25:
Fix problem with GET-INTERNAL-REAL-TIME crashing for processes
        that have been running for over 49.7 days (reported by Gilbert
        Baumann on #lisp).

        * Remove the U-B 32 declarations for values that were
          suspectible to overflowing in such a short time. This
          introduces a small amount of extra overhead (<10%) for each
          call to GET-INTERNAL-(REAL|RUN)-TIME. The accuracy or
          performance of PROFILE and TIME (the only internal users of this)
          is not measurably affected by the extra overhead.
        * Remove some dead comments

18 years ago0.9.4.24:
Christophe Rhodes [Fri, 2 Sep 2005 20:44:06 +0000 (20:44 +0000)]
0.9.4.24:
Make printing HASH-TABLEs with *READ-EVAL* = NIL signal
PRINT-NOT-READABLE.

18 years ago0.9.4.23:
Christophe Rhodes [Wed, 31 Aug 2005 20:41:44 +0000 (20:41 +0000)]
0.9.4.23:
As requested by some climacs developers, be a bit more careful
when printing objects in TRACE.

18 years ago0.9.4.22:
Juho Snellman [Wed, 31 Aug 2005 17:34:52 +0000 (17:34 +0000)]
0.9.4.22:
 Oops, should've tested that last commit also on FC4 too.
 Thanks to David Lichteblau for noticing the typo.

18 years ago0.9.4.21:
Juho Snellman [Wed, 31 Aug 2005 17:17:38 +0000 (17:17 +0000)]
0.9.4.21:
Refuse to start a threaded SBCL on a non-NPTL system, since
falling back to the non-threaded mode has been causing mysterious
problems after the pthread merge.

Patch by Peter Van Eynde (sbcl-devel "sbcl with sb-threads not
compatible with 2.4 kernel", 2005-08-12).

18 years ago0.9.4.20:
Gabor Melis [Wed, 31 Aug 2005 15:14:26 +0000 (15:14 +0000)]
0.9.4.20:
  * added trivial implementation of semaphores, not exported for the
    time being

18 years ago0.9.4.19:
Juho Snellman [Wed, 31 Aug 2005 14:52:22 +0000 (14:52 +0000)]
0.9.4.19:
Show foreign function names in LDB stacktraces when
        LISP_FEATURE_OS_PROVIDES_DLADDR.

18 years ago0.9.4.18:
Christophe Rhodes [Wed, 31 Aug 2005 14:43:43 +0000 (14:43 +0000)]
0.9.4.18:
MORE POLICY
... upgrade asdf to upstream HEAD
... make canonicalize-whitespace-1 not touch the file if it
doesn't need touching
... automatically run canonicalize-whitespace as part of make.sh
(this is potentially controversial, as it takes a
non-trivial amount of time, and also potentially
scribbles over files which the unwary developer has
open.  Better, automatic solutions are still being
sought)

18 years ago0.9.4.17:
Juho Snellman [Wed, 31 Aug 2005 14:12:37 +0000 (14:12 +0000)]
0.9.4.17:
Fix a some policy violations that have crept in:
* Canonicalize whitespace
* Change genesis to output C code with canonical whitespace
* Kill some gcc warnings
* Change genesis to explicitly mark large integer literals
  as unsigned

Small test framework change:
* Unexpected successes are reported, but do not cause a failure
  return code for the whole test suite. There are some
  non-deterministic tests that don't always fail.

18 years ago0.9.4.16:
Juho Snellman [Wed, 31 Aug 2005 13:12:17 +0000 (13:12 +0000)]
0.9.4.16:
"I feel safer already".

Add a horrible kludge to work around the new Linux kernel
security features for randomizing memory maps.
* Before setting up the memory maps, check whether we're running
  on 2.6 or newer. If so, check where the ADDR_NO_RANDOMIZE
  personality flag is set. If not, set the flag and re-execute
  the program.
* Follow the /proc/self/exe symlink to find out what binary
  we should be executing. (Can't execute /proc/self/exe
  directly, since some proc-groveling tools will then show
  the name of the process as "exe").
* For more details, see the sbcl-devel threads "Memory randomization
  problems coming" and "memory randomization patch" in 2005-08.

18 years ago0.9.4.15
Rudi Schlatte [Tue, 30 Aug 2005 13:05:30 +0000 (13:05 +0000)]
0.9.4.15
   Fix a rare case of documentation build breakage: if asdf.lisp is
   newer than asdf.fasl, subsequent requires fail since asdf doesn't
   install itself in *module-provider-functions* if loaded from source

18 years ago0.9.4.14:
Gabor Melis [Mon, 29 Aug 2005 14:30:45 +0000 (14:30 +0000)]
0.9.4.14:
  * bug fix: interrupt handlers are now per-process to match
    pthread semantics, RUN-PROGRAM and SB-SPROF do not die
    with 'no handler for signal XX in interrupt_handle_now(..)'
    anymore

18 years ago0.9.4.13
Rudi Schlatte [Mon, 29 Aug 2005 08:56:12 +0000 (08:56 +0000)]
0.9.4.13
    Merge external formats contributed by Ivan Boldyrev

18 years ago0.9.4.12:
Brian Mastenbrook [Sun, 28 Aug 2005 02:26:45 +0000 (02:26 +0000)]
0.9.4.12:
Test fixes:
 * make sure we don't use :darwin when we mean (:and :ppc :darwin)
 * enable a test which passes on Darwin but was previously
   commented out (possibly due to insufficient memory space?)
 * use with-test to turn a floating-point traps test into an
   expected failure on PPC Darwin, where floating-point traps are not
   enabled.

18 years ago0.9.4.11:
Brian Mastenbrook [Sat, 27 Aug 2005 17:14:57 +0000 (17:14 +0000)]
0.9.4.11:
Some alien changes:
 * SAPs are now valid arguments to a callback (thanks to
   Andreas Scholta).
 * Enumeration values can be used more than once in an alien
           enum (thanks to Cyrus Harmon).

18 years ago0.9.4.10:
Juho Snellman [Sat, 27 Aug 2005 09:43:20 +0000 (09:43 +0000)]
0.9.4.10:
* Record BUG: compile-time SYMBOL-PACKAGE-LOCKED-ERROR shouldn't
          be a subclass of error
        * Mark the test that tickles this bug as expected to fail
* Fix typo in the unexpected case of "Unexcepted success"

18 years ago0.9.4.8:
Juho Snellman [Fri, 26 Aug 2005 22:19:12 +0000 (22:19 +0000)]
0.9.4.8:
Add a fallback implementation of SB-ROTATE-BYTE:%UNSIGNED-32-ROTATE-BYTE
        for platforms without the optimized VOPs, that isn't as pessimal as
        the generic %ROTATE-BYTE. About 70x speedup for SB-MD5 on x86-64.

18 years ago0.9.4.8:
Gabor Melis [Fri, 26 Aug 2005 22:16:47 +0000 (22:16 +0000)]
0.9.4.8:
  * put a TLS-INDEX-LOCK and pseudo-atomic around tls index
    allocation to make bind thread and signal safe

18 years ago0.9.4.7:
Christophe Rhodes [Fri, 26 Aug 2005 21:33:08 +0000 (21:33 +0000)]
0.9.4.7:
Commit basically-working ldb backtrace on x86(-64) from David
Lichteblau (http://www.lichteblau.com/backtrace.diff as
announced 2005-08-26 on #lisp)
... unicode symbols not terribly well printed;
... only lightly tested; heuristics probably a bit broken.

18 years ago0.9.4.6:
Juho Snellman [Fri, 26 Aug 2005 21:09:03 +0000 (21:09 +0000)]
0.9.4.6:
Rewrite the test infrastructure to make it a bit more useful, without
        having to make major changes to the test files.

        Move most of run-tests.sh Lisp-side. New features:
        * Don't bail out at first failure (unless running with
          --break-on-failure)
        * Report failed tests at the end of the run
        * Tests can be marked as expected to fail on certain platforms
        * Tests can be named
        * A subset of test files to run can be specified on the command line

        Todo:
        * "Quis custodiet ipsos custodes?". Tests for the test framework.

        Changes to the tests:
        * Remove the explicit quits on success from the impure tests
          (handled by the test framework)
        * Mark some obvious cases as "expected to fail on FOO"

        Other:
        * Remove an (unrelated) fixed BUGS entry

18 years ago0.9.4.5:
Gabor Melis [Fri, 26 Aug 2005 20:30:04 +0000 (20:30 +0000)]
0.9.4.5:
  * in tls use the new widetag no-tls-value-market instead of
    unbound-marker when a symbol has no thread local value

18 years ago0.9.4:
Brian Mastenbrook [Fri, 26 Aug 2005 19:54:17 +0000 (19:54 +0000)]
0.9.4:
     Fix ANSI test ENSURE-GENERIC-FUNCTION.9

18 years ago0.9.4.3:
Gabor Melis [Fri, 26 Aug 2005 19:33:47 +0000 (19:33 +0000)]
0.9.4.3:
  * SIGFPE is not deferrable

18 years ago0.9.4.2:
Gabor Melis [Fri, 26 Aug 2005 19:13:02 +0000 (19:13 +0000)]
0.9.4.2:
  * run with disabled interrupts until the initial thread is started

18 years ago0.9.4.1: thread allocation
Gabor Melis [Fri, 26 Aug 2005 19:01:36 +0000 (19:01 +0000)]
0.9.4.1: thread allocation
  * *CURRENT-THREAD* is now properly unbound (don't do bind_variable
    without unbind), the workaround from 0.9.3.75 is removed
  * also *CURRENT-THREAD* is temporarily bound to nil in the parent
    thread to avoid the child inheriting the value from the parent
    that could unnecessarily keep the parent thread object around
    until the child exited
  * free threads' interrupt_data when necessary
  * made all_threads_lock a mutex instead of a spinlock to speed
    start_the_world up
  * minor cleanups

18 years ago0.9.4:
William Harold Newman [Fri, 26 Aug 2005 18:00:18 +0000 (18:00 +0000)]
0.9.4:
release, tagged as sbcl_0_9_4

18 years ago0.9.3.79:
Nathan Froyd [Fri, 26 Aug 2005 17:52:25 +0000 (17:52 +0000)]
0.9.3.79:
SB-ROTATE-BYTE fix + tests for non-constant shifts on the x86.

18 years ago0.9.3.78:
Brian Mastenbrook [Thu, 25 Aug 2005 12:57:58 +0000 (12:57 +0000)]
0.9.3.78:
Note my own NEWS :-)

18 years ago0.9.3.77:
Nathan Froyd [Wed, 24 Aug 2005 20:57:48 +0000 (20:57 +0000)]
0.9.3.77:
Note NEWS-worthy fixes by Thiemo Seufer.

18 years ago0.9.3.76:
Christophe Rhodes [Wed, 24 Aug 2005 20:49:39 +0000 (20:49 +0000)]
0.9.3.76:
Restore buildability on cmucl
... make the FTYPE declaimed for %DEFKNOWN compatible with
the definition

18 years ago0.9.3.75:
Gabor Melis [Mon, 22 Aug 2005 10:19:44 +0000 (10:19 +0000)]
0.9.3.75:
  * set *CURRENT-THREAD* to NIL on thread exit else it cannot be garbage
    collected

18 years ago0.9.3.74:
Juho Snellman [Sun, 21 Aug 2005 21:47:50 +0000 (21:47 +0000)]
0.9.3.74:
        Sneak in some INSTALL changes during the freeze ("Sssh! Don't
        tell anyone.")

        * Remove the misleading (DISABLE :SB-DOC) example for
          customize-target-features.lisp-expr
        * Add the -R parameter to the suggested memory randomization
          workaround (required as of Fedora Core 4)
        * Document x86-64/Linux and x86/Solaris as supported platforms
        * Add "-noinit" to the suggested command line for building
          with CMUCL as host

18 years ago0.9.3.73:
Juho Snellman [Sun, 21 Aug 2005 14:20:40 +0000 (14:20 +0000)]
0.9.3.73:
Oops, a pure.lisp test was doing (quit :unix-status 104) on success.

18 years ago0.9.3.72: enable linkage tables on Solaris/x86
Brian Mastenbrook [Sat, 20 Aug 2005 19:34:44 +0000 (19:34 +0000)]
0.9.3.72: enable linkage tables on Solaris/x86

18 years ago0.9.3.71:
Christophe Rhodes [Sat, 20 Aug 2005 17:21:14 +0000 (17:21 +0000)]
0.9.3.71:
Alpha build fixes
... unused :node-var node (noted by PVE, introduced 0.9.1.61)
... s/foreign-symbol-address/foreign-symbol-sap/ (introduced
0.9.2.26)
... rearrange the thread object so that structure packing
doesn't confuse the system (introduced 0.9.2.9)

18 years ago0.9.3.70:
Brian Mastenbrook [Sat, 20 Aug 2005 14:55:19 +0000 (14:55 +0000)]
0.9.3.70:
    restore buildability on at least Darwin and FreeBSD
     -- thanks to NIIMI Satoshi

18 years ago0.9.3.69:
Nathan Froyd [Fri, 19 Aug 2005 22:21:02 +0000 (22:21 +0000)]
0.9.3.69:
THS patch-mania (from sbcl-devel, title and date as noted):

* "Fix race condition for initial thread startup", 16 August 2005;
* "Make internal startup functions in thread.c static",
  16 August 2005;
* "Minor MIPS code improvements", 16 August 2005;
* "MIPS C runtime fixes", 19 August 2005
* "Support stack-allocated closures on MIPS", 19 August 2005;
* "Assorted minor (non-)changes", 19 August 2005.

18 years ago0.9.3.68:
Christophe Rhodes [Fri, 19 Aug 2005 21:18:47 +0000 (21:18 +0000)]
0.9.3.68:
Fix a bug introduced in 0.9.3.44 (reported by James Y Knight
sbcl-devel 2005-08-19)
... when a bound is more extreme than
most-frobtive-fooble-float, make an open bound;
... when both thingies are of the same type of float,
safely-binop can proceed regardless (as float-traps
are masked).
... James Y Knight's test case.

18 years ago0.9.3.67:
Gabor Melis [Fri, 19 Aug 2005 19:27:15 +0000 (19:27 +0000)]
0.9.3.67:
  * added chapter "Signal handling" to internals manual
  * added the beginnings of a threading chapter, too

18 years ago0.9.3.66:
Gabor Melis [Fri, 19 Aug 2005 15:14:16 +0000 (15:14 +0000)]
0.9.3.66:
  * handle failed rt signal generation due to full kernel queue, this
    makes INTERRUPT-THREAD and gc_{stop,start}_the_world less deadlock
    prone
  * reduced lock contention related to INTERRUPT-THREAD with a
    beneficial effect on mass extinction of threads by TERMINATE-SESSION:
    in extreme cases it could have taken minutes to shut down a hundred
    threads
  * reduce delay in thread tests to make it run faster and perhaps more
    likely to trigger problems
  * stable on my machine when compiled with gcc4

18 years ago0.9.3.65:
Gabor Melis [Fri, 19 Aug 2005 14:25:29 +0000 (14:25 +0000)]
0.9.3.65:
  * compile runtime without warnings on gcc4 (except for one recently
    acquired warning related to MAGIC_HASH_VECTOR_VALUE in gencgc.c)

18 years ago0.9.3.64:
Gabor Melis [Fri, 19 Aug 2005 13:45:40 +0000 (13:45 +0000)]
0.9.3.64:
  * scavenge thread->interrupt_fun (one less memory fault in
    INTERRUPT-THREAD again, heh)

18 years ago0.9.3.63:
Christophe Rhodes [Fri, 19 Aug 2005 12:15:15 +0000 (12:15 +0000)]
0.9.3.63:
Merge Solaris/x86 support, mostly as in sbcl-devel 2005-06-07
... one or two minor fixups
... log the major problems remaining in BUGS

18 years ago0.9.3.62:
Juho Snellman [Thu, 18 Aug 2005 16:23:08 +0000 (16:23 +0000)]
0.9.3.62:
Fix x86-64 MOVE-ARG-DOUBLE-FLOAT VOP for non-rsp fps (code
        inherited from x86 assumed doubles use two words of stack space,
        which is no longer true for x86-64).

18 years ago0.9.3.61:
Christophe Rhodes [Thu, 18 Aug 2005 10:06:32 +0000 (10:06 +0000)]
0.9.3.61:
Restore alpha/static-fn.lisp, apparently deleted in a dewhitespace
accident.
... also canonize whitespace again.

18 years ago0.9.3.60:
Juho Snellman [Tue, 16 Aug 2005 17:09:49 +0000 (17:09 +0000)]
0.9.3.60:
* Bump +FASL-FILE-VERSION+.
* Add a couple of useful restarts for ENSURE-DIRECTORIES-EXIST.
          (patch from sbcl-devel "Proposed patch to ensure-directories-exist"
          2005-06-06 by Alan Shields)
        * Fix empty hash slot marker on 64-bit systems.
          (patch from sbcl-devel "Bug in hash tables on 64-bit systems and fix"
          2005-08-11 by Lutz Euler)
        * Clear the signal mask in the child process after run-program
          has forked. (patch from sbcl-devel "Blocked signals and run-program"
          2005-08-14 by Benedikt Schmidt).

18 years ago0.9.3.59:
Nathan Froyd [Tue, 16 Aug 2005 15:20:40 +0000 (15:20 +0000)]
0.9.3.59:
Merge THS's "more MIPS arithmetic VOPs", sbcl-devel 16 August 2005.

18 years ago0.9.3.58:
Nathan Froyd [Tue, 16 Aug 2005 15:15:58 +0000 (15:15 +0000)]
0.9.3.58:
Typo fixes:

* Merge THS's "Typo in VOP note", sbcl-devel 16 August 2005;
* Really merge Luis Oliveira's spelling/grammar fix.

18 years ago0.9.3.57:
Christophe Rhodes [Tue, 16 Aug 2005 13:46:59 +0000 (13:46 +0000)]
0.9.3.57:
Fix CALL-NEXT-METHOD.[12] (PFD ansi-tests)
... partly from fix for CMUCL by Gerd Moellmann (sometime in
2003 I think)
... use macroexpansion environment rather than extra compiler
support to determine whether to elide the check.

18 years ago0.9.3.56:
Christophe Rhodes [Tue, 16 Aug 2005 12:40:31 +0000 (12:40 +0000)]
0.9.3.56:
Comment fixes from THS (sbcl-devel 2005-08-16).

18 years ago0.9.3.55:
Christophe Rhodes [Tue, 16 Aug 2005 10:44:40 +0000 (10:44 +0000)]
0.9.3.55:
Fix LET-CONVER[ST]ION confusion.
... also adjust ctor commentary to reflect disappearance of
INSTANCE-LAMBDA.

18 years ago0.9.3.54:
Nathan Froyd [Mon, 15 Aug 2005 22:00:39 +0000 (22:00 +0000)]
0.9.3.54:
        Minor cleanups:

        * INSTALL spelling fix by Luis Oliveira;
        * dependent policy LET-CONVERTION => LET-CONVERSION;
        * Note optimization opportunity in OPTIMIZATIONS.

18 years ago0.9.3.53:
Christophe Rhodes [Mon, 15 Aug 2005 17:56:53 +0000 (17:56 +0000)]
0.9.3.53:
Fix a "bug" (difficult to tell if it's really a bug, but if it
isn't we shouldn't be emitting a CONSTANT-MODIFIED warning on
it) in the ctor MAKE-INSTANCE optimization.
... we can't do `(setf (cdr ',place) ...) any more, so instead
wrap another function around it and close over the
locations.
... test case (related to CLASS-13.1 from PFD ansi-tests).

18 years ago0.9.3.52:
Nathan Froyd [Mon, 15 Aug 2005 17:44:49 +0000 (17:44 +0000)]
0.9.3.52:
        Reduce core file size by 600k+:

        * Disable FORMAT-with-constant-format-string transform in the
          cross compiler--eliminates many large LAMBDAs from the core;
        * Remove call to PURIFY at the beginning of warm init so that
          cold-init-only stuff doesn't get moved to read-only space
          before it is uninterned and (not) garbage collected.

18 years ago0.9.3.51:
Christophe Rhodes [Sat, 13 Aug 2005 16:06:56 +0000 (16:06 +0000)]
0.9.3.51:
Merge a first cut at detecting modification of constants
at compile-time
... new fndb information: :destroyed-constant-args
... convert into an :error combination if we detect
modification (to prevent multiple warnings)
... (I have not fixed the 16 or so warnings from our own
test suite...)

18 years ago0.9.3.50:
Gabor Melis [Fri, 12 Aug 2005 19:19:42 +0000 (19:19 +0000)]
0.9.3.50:
  * put back WITH-PINNED-OBJECTS into INTERRUPT-THREAD and kill some
    really rare memory faults

18 years ago0.9.3.49:
Nathan Froyd [Fri, 12 Aug 2005 19:08:19 +0000 (19:08 +0000)]
0.9.3.49:
Commit Tyler Berry's patch to use syscall(2) instead of _syscall
  on x86 linux (sbcl-devel 11 August 2005).

18 years ago0.9.3.48:
Juho Snellman [Fri, 12 Aug 2005 13:40:48 +0000 (13:40 +0000)]
0.9.3.48:
Don't set the MAP_FIXED flag for mmap on Linux. This allows us
        to give a reasonable error message when the areas we're trying
        to map are already reserved, instead of crashing due to
        overwriting them. (As suggested by James Knight on sbcl-devel,
        2005-08-01).

18 years ago0.9.3.47: "oops" again. I think I'm handing back my commit bit.
Brian Mastenbrook [Fri, 12 Aug 2005 13:20:57 +0000 (13:20 +0000)]
0.9.3.47: "oops" again. I think I'm handing back my commit bit.

18 years ago;;; This is the master value for LISP-IMPLEMENTATION-VERSION. It's
Juho Snellman [Fri, 12 Aug 2005 11:57:24 +0000 (11:57 +0000)]
;;; This is the master value for LISP-IMPLEMENTATION-VERSION. It's
;;; separated into its own file here so that it's easy for
;;; text-munging make-ish or cvs-ish scripts to find and tweak it. For
;;; the convenience of such scripts, only a simple subset of Lisp
;;; reader syntax should be used here: semicolon-delimited comments,
;;; possible blank lines or other whitespace, and a single
;;; double-quoted string value alone on its own line.
;;;
;;; ANSI says LISP-IMPLEMENTATION-VERSION can be NIL "if no
;;; appropriate and relevant result can be produced", but as long as
;;; we control the build, we can always assign an appropriate and
;;; relevant result, so this must be a string, not NIL.
;;;
;;; Conventionally a string like "0.6.6", with three numeric fields,
;;; is used for released versions, and a string like "0.6.5.xyzzy",
;;; with something arbitrary in the fourth field, is used for CVS
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
"0.9.3.47"

18 years ago0.9.3.46: "oops". I didn't mean to write an infinite loop there.
Brian Mastenbrook [Fri, 12 Aug 2005 11:56:13 +0000 (11:56 +0000)]
0.9.3.46: "oops". I didn't mean to write an infinite loop there.

18 years ago0.9.3.45: more ANSI test fixes
Brian Mastenbrook [Fri, 12 Aug 2005 02:37:13 +0000 (02:37 +0000)]
0.9.3.45: more ANSI test fixes

* SUBTYPEP-FUNCTION.(1-4) now pass

* READ-BYTE and WRITE-BYTE no longer take stream designators, just
  streams (fixes READ-BYTE.ERROR.5 and WRITE-BYTE.ERROR.4)

* Found when reading COMPLEX types code, and in ansi-tests as
  MISC.580: (typep #c(1 2) '(and ratio (not fixnum))) -> error

Astute log-watchers will note that the version in the commit message
for my last commit was wrong. When I started that tree it was
0.9.3.41, but somebody else stole that number in the meantime. I fixed
version.lisp-expr, but not my own brain. Oops :-)

18 years ago0.9.3.41: fix three MISC tests where type derivation attempted to
Brian Mastenbrook [Fri, 12 Aug 2005 00:59:07 +0000 (00:59 +0000)]
0.9.3.41: fix three MISC tests where type derivation attempted to
coerce a large bignum to a float, and hopefully fix other potential
similar problems in that area

18 years ago0.9.3.43:
Nathan Froyd [Thu, 11 Aug 2005 15:14:30 +0000 (15:14 +0000)]
0.9.3.43:
INSTALL spelling tweaks from Eduardo Munoz, sbcl-devel
  10 August 2005.

18 years ago0.9.3.42:
Nathan Froyd [Thu, 11 Aug 2005 15:08:39 +0000 (15:08 +0000)]
0.9.3.42:
Apply patch from NIIMI Satoshi (sbcl-devel 11 August 2005) to
  fix issues with FreeBSD (and maybe other BSDs as well).

18 years ago0.9.3.41: gc trigger
Gabor Melis [Thu, 11 Aug 2005 14:44:16 +0000 (14:44 +0000)]
0.9.3.41: gc trigger

  * implementation changes

    The *NEED-TO-COLLECT-GARBAGE* special is gone. A similar - but
    per-thread - special: *GC-PENDING* is here. It is set by both gencgc
    and cheneygc trigger.

    In threaded builds SIG_STOP_FOR_GC is no longer deferrable by the
    normal deferral mechanism and rules. It is only deferred in pseudo
    atomic sections and when *GC-INHIBIT*. There is another
    per-thread special for this purpose: *STOP-FOR-GC-PENDING*.

    Whenever *GC-INHI-BIT* is cleared (either by a GC-ON or when exiting
    a WITHOUT-GCING) the pending gc or the signal handler is run:

      (when (and (not *gc-inhibit*)
                 (or #!+sb-thread *stop-for-gc-pending*
                     *gc-pending*))
        (sb!unix::receive-pending-interrupt))

    On the receiving side interrupt_handle_pending is made clever enough
    not to run pending handlers whose time has not come (i.e. in a
    WITHOUT-INTERRUPTS it only does gc and leaves the pending handlers
    alone).

  * the bugs fixed

    ** WITHOUT-INTERRUPTS no longer blocks gc from the current or other
       threads.

    ** WITHOUT-GCING on the other hand correctly defers gc, be it
       automatically triggered or explicitly called, and SIG_STOP_FOR_GC.

    ** GC-{ON,OFF} now work within WITHOUT-GCING, too

    ** the gc trigger is more reliable as it does not share the
       interrupt deferral mechanism, most notably sb-sprof does not make
       triggering gc any harder

18 years ago0.9.3.40:
Gabor Melis [Thu, 11 Aug 2005 13:35:16 +0000 (13:35 +0000)]
0.9.3.40:
  * declare thread state volatile to avoid locking up when compiled
    with gcc4

18 years ago0.9.3.39: TYPE-ERROR fun
Brian Mastenbrook [Thu, 11 Aug 2005 01:07:44 +0000 (01:07 +0000)]
0.9.3.39: TYPE-ERROR fun

* Fix an obvious FIXME involving the expected type in a type error
  thrown by MAP when the passed type specifier is not a subtype of
  LIST or VECTOR. The expected-type cell was previously SEQUENCE, and
  it's very likely that a type specifier is of that type :-)

* DISASSEMBLE should throw a TYPE-ERROR when the argument does not
  name a function, not a SIMPLE-ERROR.

18 years ago0.9.3.38: further fixes to ENCODE- and DECODE-UNIVERSAL-TIME:
Brian Mastenbrook [Thu, 11 Aug 2005 00:13:28 +0000 (00:13 +0000)]
0.9.3.38: further fixes to ENCODE- and DECODE-UNIVERSAL-TIME:
* DECODE-UNIVERSAL-TIME now calls out to UNIX time functions to obtain
  daylight savings time and timezone information for the entire range
  of 32-bit time_t, and when below that calls with a plausable date in
  1903.
* ENCODE-UNIVERSAL-TIME now no longer errors when passed a decoded
  time with a year in 1899, so long as the encoded time is
  non-negative.