sbcl.git
20 years ago0.8.3.39:
Christophe Rhodes [Sat, 6 Sep 2003 11:03:20 +0000 (11:03 +0000)]
0.8.3.39:
Fix the ASH bugs for mips (I think)
... just one vop to fix
While I'm at it, delete unused or bogus SXHASH assembly
routines;
Add mips to INSTALL as suggested by Lars Brinkhoff.

20 years ago0.8.3.38:
Christophe Rhodes [Fri, 5 Sep 2003 08:15:44 +0000 (08:15 +0000)]
0.8.3.38:
Confirming what we already knew, part LXXVI
... the coverage of the compiler in the test suite isn't complete
... the coverage of the compiler in compiling the compiler is
at least different
... so fix the operand to ADDIS in %SINGLE-FLOAT/SIGNED sufficiently
to allow the compiler to compile

20 years ago0.8.3.37:
Christophe Rhodes [Thu, 4 Sep 2003 16:52:07 +0000 (16:52 +0000)]
0.8.3.37:
Some more love and kisses to the ppc backend
... the strength reduction we perform on sparc multiplications
is going to be common to most architectures, so
... factor out the reduction itself into a routine
... use it in a PPC deftransform for *, with suitable cutoffs
... some appropriate * vops, too
Incidental cleanups in the ppc backend
... declare D-SI instructions' operands to have the appropriate type
... fix the shady dodgy dealing going on in the %LR macrofunction

20 years ago0.8.3.36:
Alexey Dejneka [Thu, 4 Sep 2003 16:09:11 +0000 (16:09 +0000)]
0.8.3.36:
        * Fix bug reported by Paul Dietz: (GCD 0 X) returned X instead
          of (ABS X).

20 years ago0.8.3.35:
Christophe Rhodes [Thu, 4 Sep 2003 15:05:34 +0000 (15:05 +0000)]
0.8.3.35:
Since we're playing with backends...
... add the x86 CMOV instruction
... and a (disabled by default) VOP that uses it for ASH
No, it's not noticeably faster; why do you ask?  *sigh*

20 years ago0.8.3.34:
Christophe Rhodes [Thu, 4 Sep 2003 13:35:07 +0000 (13:35 +0000)]
0.8.3.34:
Love and tenderness to the SPARC arithmetic instructions
... fix the ASH bug, I think

20 years ago0.8.3.33:
Alexey Dejneka [Thu, 4 Sep 2003 05:56:08 +0000 (05:56 +0000)]
0.8.3.33:
        * Fix bug reported by Paul Dietz: (GCD 0 X) returned X instead
          of (ABS X).

20 years ago0.8.3.32:
Christophe Rhodes [Wed, 3 Sep 2003 16:52:23 +0000 (16:52 +0000)]
0.8.3.32:
Fix the ASH issues on x86.
... it seemed to me crying out for a CMOV optimization along the
lines of the sparc case, but to my dismay it seems that
x86's conditional move instruction does not allow
immediate arguments.  Maybe some bright young spark
nevertheless has a neat way of using modern instructions
to save a branch or two?

20 years ago0.8.3.31:
Christophe Rhodes [Wed, 3 Sep 2003 14:13:35 +0000 (14:13 +0000)]
0.8.3.31:
Fix ASH bug on PPC
... add a test for it, which will probably fail on most if not all
other architectures.  To be continued...

20 years ago0.8.3.30:
Christophe Rhodes [Wed, 3 Sep 2003 09:52:04 +0000 (09:52 +0000)]
0.8.3.30:
Stylistic change in COERCE-TO-COMPLEX-TYPE:
... (subtypep (type-of ...) 'double-float)???
Change it to (typep ... 'double-float).
... adjust some comments for reality.

20 years ago0.8.3.28:
Alexey Dejneka [Wed, 3 Sep 2003 09:05:02 +0000 (09:05 +0000)]
0.8.3.28:
        * Fix bug reported by Paul Dietz in optimizer for (EXPT ...
          <zero>)
        ... different treating of integer and complex arguments;
        ... SOURCE-TRANSFORM-NUMERIC-TYPEP: be accurate with (COMPLEX
        INTEGER);
        * SB-BSD-SOCKETS: really grovel SO_NO_CHECK.

20 years ago0.8.3.28:
Christophe Rhodes [Wed, 3 Sep 2003 08:41:53 +0000 (08:41 +0000)]
0.8.3.28:
Some fixes from our most compliant platform(!)
... fix the tests to DWIMeant, even under Bourne sh
... adjust the signal conditionals to reflect what I think is
the truth about their availability

20 years ago0.8.3.27:
Christophe Rhodes [Tue, 2 Sep 2003 12:33:23 +0000 (12:33 +0000)]
0.8.3.27:
Promising a vectorizing Lisp compiler since, oh, 2001...
... hand-vectorize FILL on simple-base-strings.

20 years ago0.8.3.26:
Christophe Rhodes [Tue, 2 Sep 2003 11:25:39 +0000 (11:25 +0000)]
0.8.3.26:
PPC/Linux bandaid
... compile the runtime without optimization: log it as a workaround
for an underlying problem in BUGS

20 years ago0.8.3.25:
Alexey Dejneka [Tue, 2 Sep 2003 11:11:46 +0000 (11:11 +0000)]
0.8.3.25:
        * Fix bug 277: IGNORE/IGNORABLE declarations should work for
          symbol macros;
        * fix bug in CERROR recognition inside RESTART-CASE.

20 years ago0.8.3.24
Daniel Barlow [Tue, 2 Sep 2003 02:39:02 +0000 (02:39 +0000)]
0.8.3.24
Duh.  A working version of socket-accept would be an improvement

20 years ago0.8.3.23
Daniel Barlow [Tue, 2 Sep 2003 00:08:14 +0000 (00:08 +0000)]
0.8.3.23
Exciting gencgc hacking: SB-SYS:WITH-PINNED-OBJECTS

When passing Lisp objects to foreign code, it is important
that GC doesn't change the object's address as the foreign
code's pointers to it won't be updated.  Traditionally this is
done using WITHOUT-GCING, but that's not ideal in a threaded
system where one thread may be doing a blocking alien call and
other threads would like to continue as normal.

So, instead we shove pointers to the important objects on the
C stack where they will cause the pages pointed to to be
pinned in place using preserve_pointers.  Additionally we make
a small change to gencgc to ensure that they _stay_ pinned in
subsequent GCs

On ports that use cheneygc we can't do this, so
WITH-PINNED-OBJECTS is just an alias for WITHOUT-GCING.  As
these ports don't have threads anyway, that's not a major
inconvenience.

Small updates to doc/internals-notes/threading-specials,
slightly larger updates to comments regarding ALLOCATION
and PSEUDO-ATOMIC macros

Documentation update to the FFI chapter

20 years ago0.8.3.22:
Andreas Fuchs [Mon, 1 Sep 2003 21:22:14 +0000 (21:22 +0000)]
0.8.3.22:
Contrib frobs
... add a safeguard to sb-grovel:
  issue a STYLE-WARNING when a constant can not be
groveled;
... grovel SIG* names in sb-posix; this includes SIGRT* names
on platforms where they are defined.

20 years ago0.8.3.21:
Christophe Rhodes [Mon, 1 Sep 2003 15:29:34 +0000 (15:29 +0000)]
0.8.3.21:
Fix PPC floating point backend bugs
... STFD moves a doubleword to the effective address.  Better not
have that effective address be a 32-bit area
(e.g. SINGLE-STACK) then

20 years ago0.8.3.20:
Christophe Rhodes [Mon, 1 Sep 2003 14:44:44 +0000 (14:44 +0000)]
0.8.3.20:
Fixed bug revealed by PFD in *.26:
... (FLOAT X) should be transformed to guard against X already
being a float, in which case no coercion should occur.
Minor adjustments:
... tighten up the type of RANDOM;
... textual frobs around RANDOM area.
(there's an extremely strange bug in RANDOM on the powerpc,
which I haven't yet logged but will do if I can't figure out
what's going on)

20 years ago0.8.3.19:
Christophe Rhodes [Mon, 1 Sep 2003 12:51:08 +0000 (12:51 +0000)]
0.8.3.19:
Fix bug in ROUND/FROUND revealed by PFD
... after cmucl-imp/sbcl-devel 2003-08-xx
Remove last vestiges of *GC-NOTIFY-STREAM*

20 years ago0.8.3.18:
Christophe Rhodes [Mon, 1 Sep 2003 10:41:24 +0000 (10:41 +0000)]
0.8.3.18:
Allow RUN-PROGRAM to work even when something in $PATH is not
an existent directory:
... patch from Andreas Fuchs sbcl-devel 2003-08-26;
... add a test case;
Also, need find-gnumake.sh in binary distributions:
... make it so!

20 years ago0.8.3.17:
Alexey Dejneka [Mon, 1 Sep 2003 07:55:42 +0000 (07:55 +0000)]
0.8.3.17:
        * Take signal numbers from C land;
        * use numeric constants instead of keywords to identify
          signals (as per DB and WHN mails to sbcl-devel 2003-08-31);
        ... remove SB-UNIX:UNIX-SIGNAL-NUMBER and UNIX-SIGNAL-NAME.

20 years ago0.8.3.16
Daniel Barlow [Sat, 30 Aug 2003 19:57:57 +0000 (19:57 +0000)]
0.8.3.16
Clean up BUGS file
.. deleted last remaining traces of bug categories, as the
   only remain category was "NO SPECIAL CLASS"
.. bug 46 doesn't (any longer?) apply to FILE-STREAMs
.. 162 and 216 are probably the same bug
.. 272 was fixed in 0.8.3.10
.. added 282 and 283 to cover various kinds of thread lossage

20 years ago0.8.3.15:
Alexey Dejneka [Sat, 30 Aug 2003 06:44:45 +0000 (06:44 +0000)]
0.8.3.15:
        * New function MAP-COMBINATION-ARGS-AND-TYPES;
        ... use it in ASSERT-CALL-TYPE and
            %continuation-%externally-checkable-type;
            ... C-E-C-T now works for &KEYS;
        * factor out check for full-like calls;
        * maybe flush C-E-C-T in local call conversion.

20 years ago0.3.8.14:
Christophe Rhodes [Fri, 29 Aug 2003 18:07:15 +0000 (18:07 +0000)]
0.3.8.14:
Fix backtrace on non-x86 platforms:
... don't try to work out the RA, it's too complicated.
Remove last SB-SLOT-ACCESSOR-NAME, and associated (fixed) FIXME
comment.

20 years ago0.8.3.13:
Christophe Rhodes [Fri, 29 Aug 2003 17:59:08 +0000 (17:59 +0000)]
0.8.3.13:
Implement better constant multiply routines
... have a cutoff on Sparc, as measured by Raymond Toy
... use LEA more on x86, as per cited paper
... don't do anything at all (yet) on other architectures.  This
needs to be fixed before 0.8.4, at least for PPC and
Alpha

20 years ago0.8.3.12:
Alexey Dejneka [Fri, 29 Aug 2003 12:45:46 +0000 (12:45 +0000)]
0.8.3.12:
        * Fix bug in RETURN clause of LOOP
        ... make RETURN be equivalent to DO (RETURN ...)
        * cosmetic changes in constraint propagator;
        * fix EVAL-WHEN and package problem in
          compiler.impure-cload.test from the last commit.

20 years ago0.8.3.11:
Alexey Dejneka [Fri, 29 Aug 2003 08:45:38 +0000 (08:45 +0000)]
0.8.3.11:
        * New bug 282;
        * remove bug entry 233a;
        ... add a test for it.

20 years ago0.8.3.10
Daniel Barlow [Thu, 28 Aug 2003 15:32:28 +0000 (15:32 +0000)]
0.8.3.10
Restore the GC hooks.  *BEFORE-GC-HOOKS* and *AFTER-GC-HOOKS*
are run with interrupts disabled and all other threads
paused.  They should take no arguments.  This means that
finalization works again: three cheers.

Remove all trace of *GC-NOTIFY-{BEFORE,AFTER,STREAM}* : if you
want to notify the user that G is being C, use a hook.

test/threads.impure.lisp contains a new test which is known
to fail.  Don't feel bad about deleting it

Fix asdf-install to actually chase dependencies recursively
instead of just finding the first one then stopping.  Now it
seems to be able to install Araneida

Restore inadvertently chopped line to version.lisp-expr

20 years ago0.8.3.9:
Christophe Rhodes [Thu, 28 Aug 2003 12:11:48 +0000 (12:11 +0000)]
0.8.3.9:
Faster compiler! Wheeeeeeeeeeeeeeee!
... use lists rather than adjustable vectors deep in
type-intersection/union canonicalization;
... still c. 50% slower than certain other lisp compilers on the
all-important "compile sbcl" benchmark.

20 years ago0.8.3.8:
Christophe Rhodes [Thu, 28 Aug 2003 10:53:49 +0000 (10:53 +0000)]
0.8.3.8:
Fix globaldb type errors
... SXHASH can return the most positive fixnum
Don't fix globaldb potential bootstrap problem
... leave it for when we have a typesafe 64-bit lisp, able to
detect the errors

20 years ago0.8.3.7:
Christophe Rhodes [Thu, 28 Aug 2003 09:07:57 +0000 (09:07 +0000)]
0.8.3.7:
Fix effective method cacheing over method combination changes
(Andreas Fuchs sbcl-help 2003-08-27) after GM
... REINITIALIZE-INSTANCE :AROUND to remove affected methods
from the cache
Also fix cut'n'pasteo in documentation of methods

20 years ago0.8.3.6:
Alexey Dejneka [Wed, 27 Aug 2003 06:49:16 +0000 (06:49 +0000)]
0.8.3.6:
        * Fix bug 278b: remove second return value of
          VALUES-TYPE-INTERSECTION (it is not any worse than
          TYPE-INTERSECTION).

20 years ago0.8.3.5:
Christophe Rhodes [Tue, 26 Aug 2003 17:46:57 +0000 (17:46 +0000)]
0.8.3.5:
DOCUMENTATION fixes:
... make generic function documentation findable;
... systematize DOCUMENTATION support, by having one method per
specified method, so adding support for STANDARD-METHODs
and for METHOD-COMBINATIONs
... refactor :RANDOM-DOCUMENTATION :STUFF stuff into an
auxiliary pair of functions, and use them in
COMPILER-MACRO and METHOD-COMBINATION methods;
... also set documentation in
LOAD-{SHORT,LONG}-METHOD-COMBINATION
(there's still some leftover refactoring to be done, and maybe
a systematic test suite to be written...)

20 years ago0.8.3.4:
Christophe Rhodes [Tue, 26 Aug 2003 16:15:57 +0000 (16:15 +0000)]
0.8.3.4:
Slightly less bad fix for invalid-qualifiers "not an error" bug
... when we're precomputing methods, defer the error until call
time;
... document remaining badness

20 years ago0.8.3.3:
William Harold Newman [Tue, 26 Aug 2003 13:21:18 +0000 (13:21 +0000)]
0.8.3.3:
revised PARSE-BODY to eliminate bogus style-warning for
(MACROLET (...) (DECLAIM ...))
Since there are now two optional flags, use &KEY args instead
of trying to remember the position of &OPTIONAL args.
code-sharing in PROG and PROG*
'Twas passing strange passing ENV as the second argument
to PARSE-BODY in ADD-METHOD-DECLARATIONS...
new old BUGS (dunno why I discovered both on the same day)

20 years ago0.8.3.2:
Alexey Dejneka [Tue, 26 Aug 2003 08:58:30 +0000 (08:58 +0000)]
0.8.3.2:
        * SB-SIMPLE-STREAMS:
        ... implement WRITE-SEQUENCE for single channel streams;
        ... fix bug in tests, causing random test failures;
        * add declarations to SCALE-EXPONENT;
        * remove obsolete type declarations in MIX;
        * change type inference for iteration-like variables: if
          interval type is successfuly derived, ignore other inferred
          information.

20 years ago0.8.3.1
Daniel Barlow [Mon, 25 Aug 2003 21:00:00 +0000 (21:00 +0000)]
0.8.3.1

Merge stop_the_world branch: a new scheme for stopping threads
during GC, that avoids the use of ptrace and lets any of the
threads stop any of the others.  This is a summary log entry:
see branch commits for details

New C functions maybe_defer_handler and run_deferred_handler,
which encapsulate a lot of the "is it safe to run this handler
now?  no, ok, copy its siginfo somewhere safe and do it later"
cruft that's presently done ad hoc.

Stack scavenging now looks for esp in the most recent
interrupt context for each thread.  Requires that threads
save said interrupt contexts in sig_stop_for_gc_handler

Clean up some compiler warnings in gencgc.c

Lisp-level changes: approximately a reversion to old-style (or
single-threaded) GC.  Haven't actually added the gc hooks back
in yet, but now there's at least a place for them to go.

Lock around SUB-GC to remove window that may allow two threads
to attempt to collect at once.

WITHOUT-INTERRUPTS around SUB-GC to protect c-level spinlocks
used in gc_{stop,start}_the_world

(C-level spinlocks are just integers manipulated by get_spinlock(),
release_spinlock().  There's no unwind-protect or anything
involved in their use, so a thread interrupted when it's
holding one of these will continue to hold it)

Remove #if 0 from around the copying of sigmask in
        undo_fake_foreign_function_call.  Replace sizeof(sigmask_t)
        with an expression involving the value of NSIG and the rash
        assumption that sigset_t is a bitmask.

Moved get_spinlock into foo-arch.h and made it static inline.
Added release_spinlock for parity

Delete irritating message from sigcont_handler

New test cases

20 years ago0.8.3:
William Harold Newman [Mon, 25 Aug 2003 12:32:58 +0000 (12:32 +0000)]
0.8.3:
release, tagged as sbcl_0_8_3

20 years ago0.8.2.55:
Alexey Dejneka [Sat, 23 Aug 2003 04:17:55 +0000 (04:17 +0000)]
0.8.2.55:
        * New bugs.

20 years ago0.8.2.54:
Alexey Dejneka [Thu, 21 Aug 2003 16:20:20 +0000 (16:20 +0000)]
0.8.2.54:
        * New bug.

20 years ago0.8.2.53:
Christophe Rhodes [Thu, 21 Aug 2003 11:47:17 +0000 (11:47 +0000)]
0.8.2.53:
Fixed hanging-on-reader-error in Darwin (and Solaris, it turns
out):
... Here's the deal: lseek(), on "certain devices", has
"unspecified consequences"
... said devices include, empirically, /dev/stdin
... so lseek was merrily returning a success code despite
clearly being incapable of rewinding the input stream
... so in our new error-reporting for reader errors, we were
assuming because of the success value that we could
read the erroneous input into a buffer...
... whereas we were rather sitting there waiting for more input.
... So protect the rereading code with an INTERACTIVE-STREAM-P.

20 years ago0.8.2.52:
Christophe Rhodes [Thu, 21 Aug 2003 11:38:41 +0000 (11:38 +0000)]
0.8.2.52:
Partial fix for method definition protocol
... ANSI in its wisdom saith that the mere addition of a bogus
method to a generic function is not cause for signalling
an error.  Signal a warning instead, and defer the error
to when the function is called.
Factor out common testing code into a sourceable script, and
adjust the clos tests to reflect this new interpretation

20 years ago0.8.2.51:
Alexey Dejneka [Thu, 21 Aug 2003 09:18:59 +0000 (09:18 +0000)]
0.8.2.51:
        * Fixed new bug shown by CLOCC: EXPT type deriver tried to
          work with arbitrarily large exponents;
        * stylistic change: eliminate (case ... ('+ ...));
        * test case for the bug 45b;
        * stylistic change: stream tests should remove temporary files.

20 years ago0.8.2.50:
Alexey Dejneka [Wed, 20 Aug 2003 18:55:21 +0000 (18:55 +0000)]
0.8.2.50:
        * Partially enable VALUES declaration:
        ... PROCESS-DECLS does not accept continuation; instead it
            returns the asserted type as the second result;
        ... new macro: PROCESSING-DECLS, rebinds *LEXENV* and puts THE
            on the result, if needed;
        * IR1-CONVERT-LAMBDA-BODY and similar do not accept/pass the
          result continuation;
        * remove obsolete LEXENV-WEAKEND-TYPE-RESTRICTIONS.

20 years ago0.8.2.49:
Christophe Rhodes [Wed, 20 Aug 2003 14:09:44 +0000 (14:09 +0000)]
0.8.2.49:
When is a GO tag not a GO tag?
... remove stray "p" from midst of commentary :-)

20 years ago0.8.2.48:
Christophe Rhodes [Wed, 20 Aug 2003 12:28:58 +0000 (12:28 +0000)]
0.8.2.48:
IRC as a substitute for cvs diff | mail sbcl-devel
... purportedly fix the return-from-sigint problem on Darwin/PPC,
from Patrik Nordebo (KingNato)

20 years ago0.8.2.47:
Christophe Rhodes [Wed, 20 Aug 2003 11:56:54 +0000 (11:56 +0000)]
0.8.2.47:
Fix the shell suspension bug and threaded builds

20 years ago0.8.2.46:
Alexey Dejneka [Wed, 20 Aug 2003 08:25:44 +0000 (08:25 +0000)]
0.8.2.46:
        * New old bugs.

20 years ago0.8.2.45:
Christophe Rhodes [Tue, 19 Aug 2003 15:42:39 +0000 (15:42 +0000)]
0.8.2.45:
Fix READ-SEQUENCE bug (DB sbcl-devel 2003-08-19, Gerd Moellman
cmucl-imp)
... and add a test;
Fix CEILING bug (PFD sbcl-devel 2003-08-19)
... add a test, and uncomment a bunch of now-working tests
One more format string badness fix.

20 years ago0.8.2.44:
Christophe Rhodes [Tue, 19 Aug 2003 13:04:39 +0000 (13:04 +0000)]
0.8.2.44:
Mostly contrib frobs
... merge sb-grovel string handling (Andreas Fuchs sbcl-devel
2003-08-19)
... hack at sb-posix designator concept until it doesn't blow
up when given list types;
... implement opendir/readdir/closedir in sb-posix
[not yet properly: everything is done with (* T) rather
than (* DIR) and (* DIRENT), but the interface is fine];
... add a FINISH-OUTPUT to sb-rt, so that the failing tests are
printed before the backtrace, not during;
... print ALIEN-VALUEs' alien type in PRINT-OBJECT

20 years ago0.8.2.43:
Alexey Dejneka [Tue, 19 Aug 2003 09:24:36 +0000 (09:24 +0000)]
0.8.2.43:
        * New optimization policy: RECOGNIZE-SELF-CALLS;
        * on x86 DATA-VECTOR-REF/SIMPLE-BASE-STRING does not use AL
          temporary.

20 years ago0.8.2.42:
Christophe Rhodes [Mon, 18 Aug 2003 16:46:28 +0000 (16:46 +0000)]
0.8.2.42:
FORMAT string deftransforms can give spurious optimization notes
on e.g. (COMPILE NIL '(LAMBDA (X) (ERROR X))); implement
checking of constant format strings via DEFOPTIMIZER OPTIMIZER
instead.
... also add rudimentary test of warning functionality

20 years ago0.8.2.41:
Christophe Rhodes [Mon, 18 Aug 2003 11:30:17 +0000 (11:30 +0000)]
0.8.2.41:
Slightly alleviate the bit-vector user's surprise ("mummy, why
does initializing a bit-vector's elements to 1 take so long?")
... DEFTRANSFORM FILL for the easy case.

20 years ago0.8.2.40:
Christophe Rhodes [Mon, 18 Aug 2003 10:46:11 +0000 (10:46 +0000)]
0.8.2.40:
Sparc build fix I
... cross-compiler versions of ASH-RIGHT-[UN]SIGNED, to stop the
compiler from going into an endless loop during compilation
of STRING :-)
Sparc build fix II
... we don't support sigreturn via call_into_lisp on anything
but x86 yet.

20 years ago0.8.2.39:
Alexey Dejneka [Mon, 18 Aug 2003 07:53:35 +0000 (07:53 +0000)]
0.8.2.39:
        * New macro SB!INT:BINDING*, uniting LET*, M-V-BIND and AWHEN;
        * add simple inference of iteration variable type;
        * SAME-LEAF-REF-P: look through CAST chains;
        * wrap all uses of handle_rt_signal into #!+sb-thread;
        * (SB-ACLREPL): CD-CMD takes one argument, not two.

20 years ago0.8.2.38:
Alexey Dejneka [Sun, 17 Aug 2003 17:17:06 +0000 (17:17 +0000)]
0.8.2.38:
        * Try to fix bug 267 = optimization issue #7: inside
          NAMED-LAMBDA replace references to a function with the same
          name with self-references;
        * ASSERT-GLOBAL-FUNCTION-DEFINITION-TYPE: do not put type
          assertions for functions with EXPLICIT-CHECK attribute;
        ... FLOAT-RADIX does not perform explicit check;
        * implement cross-compiler versions of %DPB and %WITH-ARRAY-DATA.

20 years ago0.8.2.37
Daniel Barlow [Sun, 17 Aug 2003 15:29:34 +0000 (15:29 +0000)]
0.8.2.37
Rename return_to_lisp_function to arrange_return_to_lisp_function,
as threatened

SIG_INTERRUPT_THREAD presently only exists on Linux: add
#ifdef to avoid breaking other x86en

Darwin complains "union has no member named `sival_int'" in
handle_rt_signal.  But we're only using that in thread builds
anyway, so #ifdef it

Bug 75 (:ELEMENT-TYPE for WITH-OUTPUT-TO-STRING) was fixed in
some previous version: remove from BUGS file

Shameless autopuffery, plus some amount of transpuffery, in
CREDITS file.

Update NEWS file

tests/.cvsignore: don't tell me about threads-foreign-code.*

20 years ago0.8.2.36:
Alexey Dejneka [Sun, 17 Aug 2003 08:04:48 +0000 (08:04 +0000)]
0.8.2.36:
        * AVER was too early in the cross compiler.

20 years ago0.8.2.35
Daniel Barlow [Sun, 17 Aug 2003 02:21:52 +0000 (02:21 +0000)]
0.8.2.35
Move lines above/below LISP_FEATURE_X86 conditionals, to
remove non-x86 brokenness introduced by return-elsewhere

20 years ago0.8.2.34:
Christophe Rhodes [Sat, 16 Aug 2003 21:46:30 +0000 (21:46 +0000)]
0.8.2.34:
Merge patch from Brian Mastenbrook for better dlfoo handling
on Darwin (plus more-likely cpp options, add boilerplate)
... reindent to 4 spaces;
ASSQ patch from observation by PFD sbcl-devel 2003-08-16
... (NOT (NULL PAIR)) plus explanatory comment;
Pragmatism: since not all lisps implement arrays with NIL
specialized-array-element-type, our cross-compiler version needs
to be more robust.  Symptoms: building sbcl/ppc from openmcl loses
in cold-init; sbcl/sparc from sbcl-0.7.x hangs in cross-compiler
compilation of STRING
... since we don't need any (ARRAY NIL)s to cross-compile SBCL,
the answer to SIMPLE-ARRAY-NIL-P for constant-folding
purposes in the cross-compiler is always NIL.

20 years ago0.8.2.33
Daniel Barlow [Sat, 16 Aug 2003 20:38:40 +0000 (20:38 +0000)]
0.8.2.33
Implement INTERRUPT-THREAD, which forces another thread to
execute a function supplied by the caller.

In the process, design a mostly entirely new scheme for
calling Lisp code as a result of a handled signal: instead of
calling into Lisp directly, frob the signal context and the
stack to arrange that the Lisp is called after the signal
handler itself has returned.  This is expected to be
applicable to signal handlers generally (and will have portability
benefits), but needs them to be changed around to call it.
Presently it's used only for interrupt-thread (SIGRTMIN)
and control stack exhaustion (one branch of SIGSEGV)

In principle, all you need do to use this in other places is
call return_to_lisp_function in the signal handler, with the
context and the function object that you wish to be called.
For the x86 you also need to make sure the signal is being
handled on the alternate signal stack, otherwise you'll
overwrite your own stack frame.

20 years ago0.8.2.32:
Alexey Dejneka [Sat, 16 Aug 2003 06:48:38 +0000 (06:48 +0000)]
0.8.2.32:
        * Provide cross-compiler versions of several internal
          functions;
        * BIGNUM-LOGNOT VOP is the same as LOGNOT-MOD32.

20 years ago0.8.2.31:
Christophe Rhodes [Sat, 16 Aug 2003 01:00:20 +0000 (01:00 +0000)]
0.8.2.31:
Fix errors shown up by new ERROR/FORMAT code in sparc backend

20 years ago0.8.2.30:
Christophe Rhodes [Fri, 15 Aug 2003 18:07:07 +0000 (18:07 +0000)]
0.8.2.30:
Fix PPC (complex double-float) bug as reported on sbcl-devel
by Clemens Heitzinger 2003-08-12
... the right way, not as per CSR patch sbcl-devel, but as per
CSR words sbcl-devel;
... also fix error reporting in CERROR format DEFTRANSFORM
(oh, the irony).

20 years ago0.8.2.29:
Alexey Dejneka [Fri, 15 Aug 2003 08:21:07 +0000 (08:21 +0000)]
0.8.2.29:
        * Fix bug in ASSQ, reported by Paul Dietz;
        * FLOAT-RADIX IGNOREs its argument as was suggested by Clemens
          Heitzinger;
        * fix return type declaration for FFLOOR and friends (reported
          by Paul Dietz);
        * SB-C::DESCRIBE-COMPONENT prints blocks in IR1 component "as
          is";
        * introduced "good" (transparent) modular functions;
        ... LOGAND and LOGIOR are :GOOD;
        * on X86: transform 32BIT-LOGICAL-xxx into LOGXXX; implement
          LOGXOR-MOD32; change implementation of FAST-+-MOD32: inherit
          without changes from FAST-+/UNSIGNED=>UNSIGNED :-).

        (On X86 SB-MD5 may be implemented without 32BIT-LOGICAL-xxx
        and evil TRULY-THE.)

20 years ago0.8.2.28:
Christophe Rhodes [Thu, 14 Aug 2003 17:16:11 +0000 (17:16 +0000)]
0.8.2.28:
Extend FORMAT string checking to ERROR, CERROR and WARN (and
many internal functions too)
... correct the surprising number of bugs that this reveals;
... since one of said bugs was the *INTEXP-MAX-EXPONENT* one,
default this to NIL and make the error non-continuable.

20 years ago0.8.2.27:
Christophe Rhodes [Thu, 14 Aug 2003 14:06:25 +0000 (14:06 +0000)]
0.8.2.27:
Build fixes for asdf-install.  Has installed a module via cliki for
me, so maybe it works now.

20 years ago0.8.2.26:
Alexey Dejneka [Wed, 13 Aug 2003 09:40:24 +0000 (09:40 +0000)]
0.8.2.26:
        * Fix bug in the portable implementation of SB-MD5::I;
        * add support for modular functions with argument number
          different from 2;
        * SB!C::CUT-TO-WIDTH: derive node type from the type
          declaration;
        * on x86 reimplement LOGNOT as a modular function and
          implement 32BIT-LOGICAL-NOT in terms of LOGNOT;
        ... remove optimization of LOGNOT with LOGAND dest.

20 years ago0.8.2.25:
Alexey Dejneka [Tue, 12 Aug 2003 17:42:57 +0000 (17:42 +0000)]
0.8.2.25:
        Initial implementation of modular functions:
        * new macro: SB!C:DEFINE-MODULAR-FUNCTION;
        * optimization of LOGAND: try to cut arguments to the needed
          number of bits;
        * implemented + with 32 bit width for x86.

20 years ago0.8.2.24:
Alexey Dejneka [Mon, 11 Aug 2003 06:22:15 +0000 (06:22 +0000)]
0.8.2.24:
        * Quick trick to optimize NJF's SHA1 portable implementation:
          replace LOGNOT with 32BIT-LOGICAL-NOT when its DEST is
          LOGAND with an argument of type (UNSIGNED-BYTE 32).

20 years ago<Krystof> dan-b: you've put a binary file under version control <Krystof> was that...
Daniel Barlow [Sun, 10 Aug 2003 20:06:25 +0000 (20:06 +0000)]
<Krystof> dan-b: you've put a binary file under version control <Krystof> was that intentional?

20 years ago0.8.2.23
Daniel Barlow [Sun, 10 Aug 2003 19:25:02 +0000 (19:25 +0000)]
0.8.2.23
A full and final answer[*] to all the people who keep asking
for slightly tangential software to be added to contrib: to
wit, a contrib module to automate the downloading and
installing of packages that are _not_ part of contrib.

* (require 'asdf-install)
* (asdf-install:install 'xlunit)

or
$ sbcl-asdf-install xlunit

See contrib/asdf-install/README for more details and scary
security-related muttering.

Also added a :INITIAL-FUNCTION to SB-EXECUTABLE:MAKE-EXECUTABLE
so that files don't have to be written such that the
application starts as soon as they're loaded

[*] Ha!

20 years ago0.8.2.22
Daniel Barlow [Fri, 8 Aug 2003 19:11:08 +0000 (19:11 +0000)]
0.8.2.22
Timezone/DST fixes for years after 2038.  I hope.  This stuff
is, I can't help feeling, needlessly confusing.

* (multiple-value-list
           (decode-universal-time (encode-universal-time 0 0 12 28 7  2040)))
        (0 0 12 28 7 2040 5 T 0)

* (multiple-value-list
           (decode-universal-time (encode-universal-time 0 0 12 29 2  3040)))
(0 0 12 29 2 3040 5 NIL 0)

Someone decided that READ-LINE ought not to work for binary
streams, so fix up SB-EXECUTABLE not to cheat in this way.

20 years ago.8.2.21
Daniel Barlow [Fri, 8 Aug 2003 13:41:48 +0000 (13:41 +0000)]
.8.2.21
Fixes for a couple of threading bugs found by Gilbert Baumann

... CONDITION-WAIT should acquire the lock with the correct
    value (i.e. the one it had when it went to sleep), not
    just the default value.
... CONDITION-NOTIFY should get the queue spinlock before
    signalling, making it atomic wrt WAIT-ON-QUEUE

Added rudimentary thread test script that I thought I'd
committed on some previous occasion

20 years ago0.8.2.20:
Christophe Rhodes [Thu, 7 Aug 2003 10:38:32 +0000 (10:38 +0000)]
0.8.2.20:
Fix to WITH-TIMEOUT (Stig Sandoe sbcl-devel 2003-07-30)
... more than one form now permissible in body.
... don't change the interface (yet); I can't think of a
backward-compatible way.

20 years ago0.8.2.19:
Christophe Rhodes [Thu, 7 Aug 2003 09:32:07 +0000 (09:32 +0000)]
0.8.2.19:
Slightly-updated version of first cut at FORMAT compile-time
argument checking (CSR sbcl-devel 2003-08-06)
... only argument count for now.

20 years ago0.8.2.18:
Christophe Rhodes [Wed, 6 Aug 2003 14:21:38 +0000 (14:21 +0000)]
0.8.2.18:
Oops (II): Fix alpha, hppa and mips ports broken by new array types
... simple-array-UNsigned-byte-29, ah yes.

20 years ago0.8.2.17:
Christophe Rhodes [Wed, 6 Aug 2003 12:38:11 +0000 (12:38 +0000)]
0.8.2.17:
Oops.  Fix x86/thread build (broken by Solaris build fix):
... include sbcl.h before using LISP_FEATURE_SB_THREAD

20 years ago0.8.2.16:
Christophe Rhodes [Wed, 6 Aug 2003 09:56:51 +0000 (09:56 +0000)]
0.8.2.16:
Two build fixes
... GNU Make is gnumake under Darwin (from Michael Hudson
sbcl-devel 2003-07-30)
... conditionalize ptrace inclusion on SB_THREAD (from Carlos
Ungil sbcl-devel 2003-08-05)

20 years ago0.8.2.15:
Christophe Rhodes [Tue, 5 Aug 2003 14:11:38 +0000 (14:11 +0000)]
0.8.2.15:
Add all remaining required (*ptui*) specialized arrays:
... (UNSIGNED-BYTE {7,15,29,31});
While we're at it, make the cross-compiling dumper more likely
to complain if we give it weird array types; we assume
(unsigned-byte {8,16,32}) are generally supported by
implementations.
Also make (ARRAY NIL) dumpable in the target compiler.
Tested building from cmucl, openmcl, old and new sbcl on x86 and
ppc.  Will need confirmation from other architectures.

20 years ago0.8.2.14:
Alexey Dejneka [Sun, 3 Aug 2003 11:32:29 +0000 (11:32 +0000)]
0.8.2.14:
        * DERIVE-TYPE optimizer for AREF does not try to put a type
          assertion on its result;
        * fix type declaration for INTEGER-DECODE-FLOAT;
        * cross-compiler vertions of MAKE-{SINGLE,DOUBLE}-FLOAT now
          work with denormalized numbers;
        ... since this change causes bootstrapping problems under
            previous versions of SBCL, replace a reference to
            LEAST-POSITIVE-DOUBLE-FLOAT with a code, constructing this
            number.

20 years ago0.8.2.13:
Christophe Rhodes [Sat, 2 Aug 2003 15:58:06 +0000 (15:58 +0000)]
0.8.2.13:
Fix an error in the recent array-type refactoring; type checks
on vectors were incorrectly reported (as "unbound variable
SAETP" rather than a type error).

20 years ago0.8.2.12:
Christophe Rhodes [Fri, 1 Aug 2003 17:16:56 +0000 (17:16 +0000)]
0.8.2.12:
More PPC/Linux and x86/BSD fixes
... try to get recursive includes right;
... just include target-os.h, which itself includes target-arch-os.h
(thanks to Gerd Moellmann)
... comment out attempt number two at ppc/linux floating point, which
is causing problems on some ppcs (as reported by Eric
Marsden sbcl-devel 2003-08-01 and kmr on #lisp from the
Debian buildds... I wonder why this doesn't happen on
Daniel's iMac)

20 years ago0.8.2.11:
Christophe Rhodes [Thu, 31 Jul 2003 14:42:06 +0000 (14:42 +0000)]
0.8.2.11:
Oops.  Fix the other half of the FreeBSD issue
... adjust CALL-OUT vop sufficiently that the system doesn't tie
itself in knots when doing calls into C (from dtc via
cmucl circa 1999 :-)

20 years ago0.8.2.10:
Christophe Rhodes [Wed, 30 Jul 2003 16:07:44 +0000 (16:07 +0000)]
0.8.2.10:
Implement SB-EXT:CODE-DELETION-NOTE, at least partly for
pfdietz' benefit
... I'm too nice, really I am;
... we're going to need COERCE-TO-CONDITION in the
cross-compiler;
... extract (somewhat bogusly) format control and arguments from
the condition in the SIMPLE-CONDITION case, so that warm
init doesn't print every compiler note in long form.

20 years ago0.8.2.9:
Christophe Rhodes [Wed, 30 Jul 2003 15:56:30 +0000 (15:56 +0000)]
0.8.2.9:
We now build on FreeBSD again...
... by frobbing x86/c-call.lisp so that we can return 64-bit
quantities for UNIX-LSEEK/lseek();
and while we're fixing 64-bitness...
... mmap takes an off_t argument, so grovel for that and use
it, so fixing sb-simple-streams on Darwin and FreeBSD.

20 years ago0.8.2.8:
Christophe Rhodes [Tue, 29 Jul 2003 13:01:55 +0000 (13:01 +0000)]
0.8.2.8:
MacOS/Darwin merge.  Points to note:
... thanks to Patrik Nordebo, Pierre Mai and Brian Mastenbrook;
... mmap()ed simple-streams appear not to work under darwin;
... floating point traps are currently non-functional on both ppc
platforms;
... on darwin, hitting ^C, then choosing CONTINUE results in a
memory fault;
... there's no lchown under darwin;
... x86/bsd building is also slightly non-functional currently;
... There's a OAOOM problem in src/compiler/ppc/c-call.lisp, and in
src/runtime/ppc-assem.S.

20 years ago0.8.2.7:
Christophe Rhodes [Mon, 28 Jul 2003 08:10:32 +0000 (08:10 +0000)]
0.8.2.7:
Improvements to build technology inspired by Nikodemus Siivola
(sbcl-devel 2003-07-20):
... centralize GNU Make finding functionality, and use it
everywhere;
... remove bashism from slam.sh.

20 years ago0.8.2.6:
Christophe Rhodes [Sun, 27 Jul 2003 17:13:51 +0000 (17:13 +0000)]
0.8.2.6:
Make the prototype of the GENERIC-FUNCTION class (and indeed all
other direct instances of GENERIC-FUNCTION) printable;  also use
a newline rather than a semicolon in x86-arch.c in the hope that
it's more acceptable to OpenBSD.

20 years ago0.8.2.5:
Christophe Rhodes [Sun, 27 Jul 2003 15:51:40 +0000 (15:51 +0000)]
0.8.2.5:
Minor sb-simple-streams frobs...
... (member character), not (member 'character);
... pass END explicitly to DEVICE-WRITE (thanks to David
Lichteblau).

20 years ago0.8.2.4:
Christophe Rhodes [Sun, 27 Jul 2003 15:24:11 +0000 (15:24 +0000)]
0.8.2.4:
As reported by pfdietz sbcl-devel 2003-07-27, MAKE-SEQUENCE,
MERGE and CONCATENATE weren't inferring their return type
aggressively enough when given VECTOR as the type specifier.

20 years ago0.8.2.3:
Alexey Dejneka [Sun, 27 Jul 2003 15:05:31 +0000 (15:05 +0000)]
0.8.2.3:
        * Fixed bug reported by Kalle Olavi Niemitalo on Debian CMUCL
          BTS: MAKE-ARRAY ignored :INITIAL-CONTENTS NIL.

20 years ago0.8.2.2:
Christophe Rhodes [Sun, 27 Jul 2003 14:08:18 +0000 (14:08 +0000)]
0.8.2.2:
Patch from Patrik Nordebo allowing FILE-POSITION/lseek to work
over its entire range of acceptability.

20 years ago0.8.2.1:
Christophe Rhodes [Sun, 27 Jul 2003 13:52:35 +0000 (13:52 +0000)]
0.8.2.1:
As reported by Edi Weitz on sbcl-help 2003-07-17, WITH-OUTPUT-TO-STRING
should accept an :ELEMENT-TYPE keyword argument:
... make it so;
... make it so for MAKE-STRING-OUTPUT-STREAM too;
(implementation of such while preserving efficiency in our (vector nil)
world is slightly contorted; we accumulate arbitrary
characters, then convert to the requested type when the
stream's string is requested)
... add tests for reasonable behaviour.

20 years ago0.8.2:
William Harold Newman [Fri, 25 Jul 2003 19:54:00 +0000 (19:54 +0000)]
0.8.2:
release, tagged as sbcl_0_8_2

20 years ago0.8.1.53:
Alexey Dejneka [Tue, 22 Jul 2003 05:45:25 +0000 (05:45 +0000)]
0.8.1.53:
        * Export SB-KERNEL::READER-EOF-EROR (bug reported by Nikodemus
          Siivola).

20 years ago0.8.1.52:
Christophe Rhodes [Mon, 21 Jul 2003 12:40:11 +0000 (12:40 +0000)]
0.8.1.52:
Comment out the meat in ppc/linux os_restore_fp_control, because
although that superficially worsens our floating point handling
on that platform,
...RUN-PROGRAM no longer segfaults with such enthusiasm;
...our floating point handling was quite poor in any case, as
evidenced by (/ 1.0 0.0).

20 years ago0.8.1.51:
Alexey Dejneka [Mon, 21 Jul 2003 06:09:55 +0000 (06:09 +0000)]
0.8.1.51:
        * Update BUGS.