sbcl.git
20 years ago0.8.4.15:
Alexey Dejneka [Thu, 9 Oct 2003 19:55:08 +0000 (19:55 +0000)]
0.8.4.15:
        * Change modularization of ASH
          ... add per-function cutter;
          ... s/ash-left-constant-modxx/ash-left-modxx/;
          ... put DEFKNOWN and modular function optimizer for
              ASH-LEFT-MODxx to src/compiler/generic/sm-tran.lisp;
          ... compile src/compiler/generic/vm-tran.lisp before
              src/compiler/target/arith.lisp (in fact, immediately
              after src/compiler/srctran.lisp);
        * strength reducer for * wraps LOGAND around the whole form.

20 years ago0.8.4.14:
Christophe Rhodes [Thu, 9 Oct 2003 15:47:16 +0000 (15:47 +0000)]
0.8.4.14:
Fix suboptimality reported by piso on #lisp
... catch bogus types like (fixnum 10) before they get too far
in the type system
... doesn't work for logically-built-in-but-made-by-PCL types
(yet)
Comment out newly-broken assertion that constant multiplies
don't produce compiler-notes
... if that's all that broke, count your lucky stars :-)

20 years ago0.8.4.13
Daniel Barlow [Thu, 9 Oct 2003 13:50:34 +0000 (13:50 +0000)]
0.8.4.13
 Added sb-introspect contrib to SBCL.  Mostly for
 experimentation at this stage: do not use this stuff in
 client code unless you are willing to revisit it later, and
 please do say if it does things differently than you wanted.

20 years ago0.8.4.12:
Christophe Rhodes [Thu, 9 Oct 2003 11:05:11 +0000 (11:05 +0000)]
0.8.4.12:
        I'm not proud of this.

        HEALTH WARNING: this may not work.  It does for me, on Linux/PPC.
If your sourceforge-fu is strong, please try it.
        HEALTH WARNING: this is ugly as sin.  Unexported symbols, special
                assumptions, KLUDGEs thrown in with gay abandon.

        In partial mitigation, it does fix a bug :-)

        Fix for lying-to-the-compiler bug in
                UB32-STRENGTH-REDUCE-CONSTANT-MULTIPLY
        ... turn TRULY-THEs into suitable LOGANDs
                (inefficient in compile-time space; we only need one
                LOGAND wrapping the resulting form)
        ... likewise in x86 OPTIMIZE-MULTIPLY
                (even less efficient: constant mask is first :-)
        but that would be slow at runtime if we just left it there, so
        ... add - as a modular function (that was easy)
        ... add preliminary support for ASH as a modular function
                (for constant right shifts):
        ... delete ASH-RIGHT-[UN]SIGNED from the sparc backend
                (will be restored eventually, fear not, probably more
cross-platformly)
        ... hack in special knowledge about ASH into CUT-TO-WIDTH
        ... ensure that all backends have a suitable VOP for translation
                of new ASH function
        ... (alpha version is 64bit, oh yes)
        ... don't forget out-of-line version (for xc also!)
                (aside: might we not need out-of-line versions of
                other modular functions in the xc?)

20 years ago0.8.4.11:
Alexey Dejneka [Thu, 9 Oct 2003 06:41:51 +0000 (06:41 +0000)]
0.8.4.11:
        * Fix bug found by WHN and Paul Dietz: do not replace optional
          dispatch with an entry point in a block to be deleted.

20 years ago0.8.4.10
Daniel Barlow [Tue, 7 Oct 2003 21:41:26 +0000 (21:41 +0000)]
0.8.4.10
"brown paper bag" bug fix: initialise the thread->state slot
when it's created, to fix the most obvious threading problem

Search order for sbcl.core and sbclrc simplified.

Manual page edits: updates for contrib/, threading, platforms,
new sbcl.core search order, etc

Make "debugger invoked" message print thread id
asdf-install contrib: new UNINSTALL function deletes a
package's files.

New installation variable $(BUILD_ROOT) for use by package
installers that want to install into a fake root directory

20 years ago0.8.4.9:
Christophe Rhodes [Tue, 7 Oct 2003 10:23:30 +0000 (10:23 +0000)]
0.8.4.9:
Fix bug in CONS types/SUBTYPEP
... actually a bug in the CONS :SIMPLE-INTERSECTION2 type
method, which wasn't doing enough work when one of the
types produced a useful intersection and the other
not.

20 years ago0.8.4.8
Daniel Barlow [Mon, 6 Oct 2003 16:48:38 +0000 (16:48 +0000)]
0.8.4.8
More thread fixes: now passes the cl-ppcre thread test

... all_threads_lock needed to be declared volatile

... new 'state' field in struct thread, to avoid race where
the head of the all_threads list is reaped during stop_for_gc

Removed "waitpid : child %d %x exited \n" message (rather,
conditionalised it on show_thread_exit, which is default 0

Remove unexplained (setsigmask 0) call in the repl, replaced
with a call to warn_when_signals_masked so we can find out
what it was for anyway.

Default repl calls (get-foreground) - this is a unithread nop

20 years ago0.8.4.7:
Christophe Rhodes [Fri, 3 Oct 2003 17:39:30 +0000 (17:39 +0000)]
0.8.4.7:
(Not Linux) build fix
... move reference to SIG_DEQUEUE into #ifdef LISP_FEATURE_SB_THREAD
Fix bug in backquote pretty-printer
... now takes care to disambiguate ,.foo and , .foo

20 years ago0.8.4.5:
Christophe Rhodes [Fri, 3 Oct 2003 12:19:59 +0000 (12:19 +0000)]
0.8.4.5:
Make simple-streams work on alpha
... really ensure the various ffi_foo_t types for wrapped_stat
are 32-bit everywhere
... update the lisp version of the struct definition to believe
this, too (UNSIGNED-INT, not UNSIGNED-LONG)
... also bugfix: MOST-POSITIVE-FIXNUM is an upper exclusive bound
... stray arch_os_get_current_thread() fix

20 years ago0.8.4.5:
Christophe Rhodes [Fri, 3 Oct 2003 10:59:34 +0000 (10:59 +0000)]
0.8.4.5:
PPC build fix (kludge)
... use offsetof() to find where the glibc maintainers have put
the uc_mcontext slot today, and delegate to appropriate
source code
non-x86/linux build fix
... undefine arch_os_get_current_thread() from individual
architecture header files
Everywhere clean.sh fix
... only include src/runtime/Config in tools-for-build/Makefile
if it exists.  Now clean.sh works on a clean tree.

20 years ago0.8.4.4:
Christophe Rhodes [Fri, 3 Oct 2003 10:20:31 +0000 (10:20 +0000)]
0.8.4.4:
Fix bignum/bignum ASH bug (PFD sbcl-devel 2003-09-22)
... one-liner fix, yum yum
Add SIGNUM derive-type optimizer
... not strictly necessary any more as we now ignore errors when
deriving types, but since I wrote it, why not?

20 years ago0.8.4.3
Daniel Barlow [Fri, 3 Oct 2003 03:23:11 +0000 (03:23 +0000)]
0.8.4.3
Inline arch_os_get_current_thread.  This means putting it in
thread.h, which may be considered a little silly.  When >1
arch/os combination supports threading, maybe we need a
late-target-arch-os.h file or similar.  In the meantime I'm
not going to turn the build upside down right now.

20 years ago0.8.4.2:
Alexey Dejneka [Fri, 3 Oct 2003 02:51:56 +0000 (02:51 +0000)]
0.8.4.2:
        * Changes in type checking:
        ... test for NIL has zero cost;
        ... add NULL to types of optional arguments (fix bug 261);
        ... change implementation of "external type check":
            ... new kind of CAST-TYPE-CHECK;
            ... detect blocks of externally checkable CASTs by
                backward walking of a component;
            ... merge unsafe CASTs in IR1-FINALIZE ( bug 282);
            ... consider known call of a function without applicable
                :FAST-SAFE templates to be full;
        * print CTRAN numbers in component dumps;
        * fix bug 214, also reported by rydis on #lisp: in
          NOTE-REJECTED-TEMPLATES ignore :FAST-SAFE templates for
          :SAFE policy;
        * DO-NODE-BACKWARDS: stop when faced with a CTRAN with no use
          (bug reported by Paul Dietz);
        * TWO-ARG-DERIVE-TYPE: when deriving type for constant
          arguments, if the function signals an error return type NIL
          (bug reported by Paul Dietz);
        * fix TRUNCATE optimizer for (+ -) arguments (bugs 293, 294
          reported by Paul Dietz);
        * tests/compiler.impure-cload.lisp: switch to CL-USER package
          before deleting temporal one.

20 years ago0.8.4.1
Daniel Barlow [Thu, 2 Oct 2003 23:13:08 +0000 (23:13 +0000)]
0.8.4.1
Merge most of atropos-branch: miscellaneous (mostly threading)
fixes that were probably a little too risky for late in 0.8.4
development.

        doc/ - fix up some of the sgml errors that sourceforge keeps
        mailing me about

        New function release-spinlock that only changes the lock value
        if we owned the spinlock, so good for unwind-protect cleanups
        when lock acquisition failed

        get-spinlock release-spinlock current-thread-id could all win
        from being inlinable

        Use a RT signal (SIG_DEQUEUE) for resuming threads that were
        on queues, instead of having SIGCONT do both this and the
        resume-after-gc task.

        Scattered commentary describing the state of the signal mask
        in various interesting places

        In gencgc alloc, only install a deferred handler for GC if
        there was no previous handler for anything else.  This fixes
        a longstanding bug where the GC thread would eat all cpu while
        waiting indefinitely for othr threads to stop.

        Add SIG_STOP_FOR_GC to the blockable list

        interrupt_maybe_gc_int: enable signals before calling SUB-GC,
        or the locking that sub-gc does is going to interact badly.

        Minor rearrangement to parent thread to stop it having to wake
        up on every GC

        Add grovel_headers line for SIG-DEQUEUE.  OAOOM alert...

20 years ago0.8.4:
William Harold Newman [Thu, 2 Oct 2003 19:04:22 +0000 (19:04 +0000)]
0.8.4:
release, tagged as sbcl_0_8_4

20 years ago0.8.3.95
Daniel Barlow [Mon, 29 Sep 2003 15:35:30 +0000 (15:35 +0000)]
0.8.3.95
Minimal fix to compile on Linux 2.6 and recent FreeBSD:
disable running of pre-gc hooks
move running of post-gc hooks later, so it is done after
 other threads start running aagin, outside the GC lock

20 years ago0.8.3.94:
Christophe Rhodes [Fri, 26 Sep 2003 17:19:13 +0000 (17:19 +0000)]
0.8.3.94:
Compiler fixes (touching only files in the alpha backend)
... the assembly routine for (signed-byte 32) [sic] truncate did
in fact work only for signed-byte 32 quantities, but was
being called on signed-byte 64 quantities.  Fix it.
... the translators for ASH were broken in amusing ways: some
led to internal compiler errors when fed out-of-range
numbers; more insidiously, others allowed temporaries
to be overwritten in some cases.  Fix them.
... lastly but not leastly, the %LI code to load an immediate
was wrong in a very small proportion of cases.  After
much scribbling, deduce why and fix it.
... test cases to go with all of the above.

20 years ago0.8.3.93
Rudi Schlatte [Thu, 25 Sep 2003 12:12:10 +0000 (12:12 +0000)]
0.8.3.93
        Make double-channel simple streams work
        ... conditionalize flush-buffer etc. for code shared between
            single-channel and double-channel simple streams
        (Thanks to David Lichteblau for the reports)

20 years ago0.8.3.92:
Christophe Rhodes [Thu, 25 Sep 2003 09:40:55 +0000 (09:40 +0000)]
0.8.3.92:
contrib/ updates for Solaris^WSunOS, as per Vincent Arksteijn
sbcl-devel 2003-09-25
... conditionalize distrust-length on SUNOS feature, which exists,
as opposed to SOLARIS which doesn't
... make def-to-lisp emit CL:NIL, not just NIL.
... try to figure out what the solaris clause meant in
bsd-sockets/name-service.lisp

20 years ago0.8.3.91:
Alexey Dejneka [Thu, 25 Sep 2003 05:17:23 +0000 (05:17 +0000)]
0.8.3.91:
        * Fix bug reported by Paul F. Dietz 2003-09-24 "NIL is not of
          type LVAR": use NODE-DEST in MAYBE-CONVERT-TO-ASSIGNMENT.

20 years ago0.8.3.90:
Christophe Rhodes [Wed, 24 Sep 2003 11:06:27 +0000 (11:06 +0000)]
0.8.3.90:
Alpha build fix
... write a slightly more general PREPARE-ARGUMENT function for
modular arithmetic;
... as discussed on #lisp IRC 2003-09-24, post-0.8.4 we can optimize
common cases on platforms where register width and
bignum-element-width are the same.

20 years ago0.8.3.89:
Christophe Rhodes [Tue, 23 Sep 2003 14:50:16 +0000 (14:50 +0000)]
0.8.3.89:
Treatment of --load
... half fix the problems.  Put LOAD into a multiple escape, so
that changes to the readtable don't break the
command-line option;
... log behaviour in the presence of #\" and #\* as a bug.

20 years ago0.8.3.88:
Alexey Dejneka [Tue, 23 Sep 2003 06:51:39 +0000 (06:51 +0000)]
0.8.3.88:
        * Fix bug reported by Paul Dietz 2003-09-22: do not perform
          modular function coversion in deleted blocks.

20 years ago0.8.3.87
Daniel Barlow [Mon, 22 Sep 2003 23:01:13 +0000 (23:01 +0000)]
0.8.3.87
After vast effort (mostly Christophe's) we have a fix for the
hangs in multithreaded CLX.  Under some circumstances we could
be trying to scavenge one thread's stack using the stack
pointer from another: needless to say, this is not too effective.

When sleeping on a queue, loop around sigwaitinfo restarting
it until it stops returning EINTR

20 years ago0.8.3.86:
Alexey Dejneka [Mon, 22 Sep 2003 14:12:00 +0000 (14:12 +0000)]
0.8.3.86:
        * Fix transformers for </>/<=/>=:
        ... when swap arguments, change function name "<" <-> ">";
        ... do not check whether an interval is a constant LVAR;
        * add type declaration in CONSTANT-LVAR-P.

20 years ago0.8.3.85:
Rudi Schlatte [Sun, 21 Sep 2003 20:01:30 +0000 (20:01 +0000)]
0.8.3.85:

        * Merged patch "speeding up simple-stream creation" from David
        Lichteblau (sbcl-devel Sep 20, 2003)

        * Conditionalize comments in sb-posix constants definition on
        sb-doc

20 years ago0.8.3.84:
Alexey Dejneka [Sun, 21 Sep 2003 09:58:07 +0000 (09:58 +0000)]
0.8.3.84:
        * fix bug reported by Nicodemus Siivola:
        ... FIND-RESULT-TYPE: ignore uses in deleted blocks/functions;
        ... DELETE-LAMBDA: work with :OPTIONAL;
        * DELETE-BLOCK: when deleting ENTRY, delete it from
          LAMBDA-ENTRIES and delete all its EXITs.
        * add DERIVE-TYPE optimizer for ISQRT (thanks to Robert
          E. Brown).

20 years agofix errant #\! from debugging code
Kevin Rosenberg [Sun, 21 Sep 2003 01:43:35 +0000 (01:43 +0000)]
fix errant #\! from debugging code

20 years ago0.8.3.83:
Kevin Rosenberg [Sun, 21 Sep 2003 01:29:59 +0000 (01:29 +0000)]
0.8.3.83:
    * Compilation changes for contrib/sb-bsd-sockets for SuSE AMD64
    Compilation is now successful on this platform, but two test cases
    currently fail.

20 years ago0.8.3.82
Daniel Barlow [Sun, 21 Sep 2003 00:52:00 +0000 (00:52 +0000)]
0.8.3.82
asdf-install gets a good deal smarter about GPG signatures: it's
now usable for installing CLiki package even from non-CCLAN places

NEWS file updates for GC changes

Minor changes to 'Beyond ANSI' chapter in manual

20 years ago0.8.3.82: Make the runtime compile (not necessarily run) on x86/bsd again
Andreas Fuchs [Fri, 19 Sep 2003 15:30:24 +0000 (15:30 +0000)]
0.8.3.82: Make the runtime compile (not necessarily run) on x86/bsd again

20 years agoMake the runtime compile (not necessarily run) on x86/bsd again
Andreas Fuchs [Fri, 19 Sep 2003 15:25:53 +0000 (15:25 +0000)]
Make the runtime compile (not necessarily run) on x86/bsd again

20 years ago0.8.3.81:
Alexey Dejneka [Fri, 19 Sep 2003 12:57:38 +0000 (12:57 +0000)]
0.8.3.81:
        * DOLIST: take CDR before execution of the body as suggested
          by Paul F. Dietz;
        * DELETE-COMPONENT: do not try to delete deleted lambda
          (bug reported by Paul Dietz);
        * fix building with #+HIGH-SECURITY:
        ... {IN,OUT}-SYNONYM-OF: fix comma placing;
        ... src/pcl/gray-streams.lisp: make redefinition of
          {INPUT,OUTPUT}-STREAM-P be atomic.

20 years ago0.8.3.80:
Alexey Dejneka [Fri, 19 Sep 2003 04:10:09 +0000 (04:10 +0000)]
0.8.3.80:
        * FROB-DO-BODY: wrap a body in an additional TAGBODY.

20 years ago0.8.3.80:
Alexey Dejneka [Fri, 19 Sep 2003 03:49:28 +0000 (03:49 +0000)]
0.8.3.80:
        * FROB-DO-BODY: wrap a body in an additional TAGBODY.

20 years ago0.8.3.79
Daniel Barlow [Thu, 18 Sep 2003 23:15:56 +0000 (23:15 +0000)]
0.8.3.79
GC fix fixes

Rearrange the sigcontext GCing a bit and add commentary
describing what's going on

Delete debugging message accidentally committed in .76

tests/threads.impure.lisp now works (but don't worry, I
have another test locally which still kills sbcl sometimes)

20 years ago0.8.3.78:
Kevin Rosenberg [Thu, 18 Sep 2003 21:09:08 +0000 (21:09 +0000)]
0.8.3.78:
    * Initial changes to build on SuSE AMD64. Still need to port sb-bsd-sockets.

20 years ago0.8.3.77:
Christophe Rhodes [Thu, 18 Sep 2003 16:43:56 +0000 (16:43 +0000)]
0.8.3.77:
Implement FILE-POSITION on string streams
... patch from Nikodemus Siivola sbcl-devel 2003-09-15

20 years ago0.8.3.76
Daniel Barlow [Thu, 18 Sep 2003 13:06:31 +0000 (13:06 +0000)]
0.8.3.76
     GC fixes and miscellaneous commentary:

     Frob VOP attributes for {push-words-on,pop-words-from}-c-stack,
     per APD comment

     Comment: why WITH-PINNED-OBJECTS doesn't need an UNWIND-PROTECT

     In x86 pseudo-atomic start, clear interrupted bit _before_
     setting atomic bit, to eliminate window where a pa section might
     be interrupted immediately after starting then have the evidence
     of interruption erased

     When scavenging thread control stacks on gencgc, also look at live
     interrupt contexts that might not be on the current stack (e.g.
     alternate signal stacks).

     When stopping a thread so it may be GCed, save the signal context
     _before_ decrementing countdown_to_gc

     In lose(), send SIGSTOP to all threads other than the currently
     losing one, so we have a chance to examine what went wrong before
     they stomp all over memory

20 years ago0.8.3.75:
Alexey Dejneka [Thu, 18 Sep 2003 06:26:57 +0000 (06:26 +0000)]
0.8.3.75:
        * Do not let-convert into a deleted function.

20 years ago0.8.3.74:
Alexey Dejneka [Wed, 17 Sep 2003 17:11:46 +0000 (17:11 +0000)]
0.8.3.74:
        * Change transformers for </>/>=/<= to work with unions of
          intervals;
        * CONSTRAIN-REF-TYPE: ignore constraints of form (EQL val
          <unreferenced-var>).

20 years ago0.8.3.73:
Alexey Dejneka [Wed, 17 Sep 2003 06:45:45 +0000 (06:45 +0000)]
0.8.3.73:
        * DELETE-LAMBDA: delete also contained lambdas.

20 years ago0.8.3.72:
Christophe Rhodes [Tue, 16 Sep 2003 12:07:39 +0000 (12:07 +0000)]
0.8.3.72:
Merge modular_arithmetic_branch
... include untested modular arithmetic implementation for hppa
... unkludge sb-md5: now implemented using natural, high-level
lisp.  (and as a bonus, compiles to shorter code on x86
at least).
... passes self-tests and pfdietz-tests on x86 at least.
More exhaustive testing on other platforms is probably
needed, maybe with the torturer

20 years ago0.8.3.71:
Alexey Dejneka [Tue, 16 Sep 2003 09:45:15 +0000 (09:45 +0000)]
0.8.3.71:
        * Update consistency checking;
        * fix bug found by Paul Dietz ("NIL is not of type LVAR") in
          IMMEDIATELY-USED-P: component tail block does not have a
          start CTRAN.

20 years ago0.8.3.70:
Alexey Dejneka [Tue, 16 Sep 2003 07:45:06 +0000 (07:45 +0000)]
0.8.3.70:
        * Update comments to the change of "continuation"
          representation;
        * fix bug reported by WHN: IR1-translator for TRULY-THE does
          nothing if its value is unused;
        * describe bug reported by Nikodemus Siivola on sbcl-devel
          2003-09-15;
        * rewrite test of restoring floating point modes on Alpha: old
          version failed due to the absence of ABORT restart.

20 years ago0.8.3.45.modular7:
Christophe Rhodes [Mon, 15 Sep 2003 17:10:36 +0000 (17:10 +0000)]
0.8.3.45.modular7:
Implement slightly less stupid 32bit-logical-foo on the alpha
... including fixing the ORNOT/LOGNOR bug, natch.
... also, we implement a hack: converting (logand ... #xffffffff)
to a one-instruction mskll rather than several instructions
of load and an and instruction.  This could be extended
to more masks.

20 years ago0.8.3.69:
Christophe Rhodes [Mon, 15 Sep 2003 16:56:13 +0000 (16:56 +0000)]
0.8.3.69:
Cosmetic fixes
... document MacOS X's stack size limitation in README
... annoying placement of a close quote in asdf-module.mk

20 years ago0.8.3.68:
Christophe Rhodes [Mon, 15 Sep 2003 15:09:01 +0000 (15:09 +0000)]
0.8.3.68:
Kludge around an apparent problem in hardware/kernel/somewhere
to do with denormalized float traps...
... explicitly clear that bit in os_restore_fp_control();
... document in BUGS;
... handle ARITHMETIC-ERROR, not just DIVISION-BY-ZERO, so that
ports without fp words in sigcontext pass the test

20 years ago0.8.3.67:
Christophe Rhodes [Mon, 15 Sep 2003 13:45:16 +0000 (13:45 +0000)]
0.8.3.67:
Somewhat amazingly, fixing the floating point issue described in
"Alpha aargh" (CSR sbcl-devel 2003-09-12) wasn't too hard to fix.
... so fix it :-)

20 years ago0.8.3.66:
Christophe Rhodes [Mon, 15 Sep 2003 13:14:54 +0000 (13:14 +0000)]
0.8.3.66:
Fix Alpha data corruption bug
... as with MIPS case a couple of months ago, index goes
forwards through a string, not backwards.
... include a test case (how did that happen?)

20 years ago0.8.3.65:
Christophe Rhodes [Mon, 15 Sep 2003 11:31:56 +0000 (11:31 +0000)]
0.8.3.65:
More alpha backend stuff
... fix ASH ... -31 bug;
... fix LOGCOUNT bug found while investigating ASH bug.

20 years ago0.8.3.64:
Kevin Rosenberg [Mon, 15 Sep 2003 10:12:44 +0000 (10:12 +0000)]
0.8.3.64:
   * Add more description for the array describe-object method
   * Eliminate warnings from sbcl-asdf-install when asdf is present
     in the core file

20 years ago0.8.3.63:
Christophe Rhodes [Mon, 15 Sep 2003 09:59:11 +0000 (09:59 +0000)]
0.8.3.63:
Bignum multiplication on the Alpha...
... when creating notionally unsigned 32-bit quantities from
notionally unsigned 64-bit quantities, it's quite
important to do a logical and not an arithmetic shift.

20 years ago0.8.3.62:
Alexey Dejneka [Mon, 15 Sep 2003 09:21:37 +0000 (09:21 +0000)]
0.8.3.62:
        * Split CONTINUATION into CTRAN (control part) and LVAR (value
          part);
        ... remove :DELETED and :DELETED-BLOCK-START continuation
            kinds;
        ... remove bug reported by Paul Dietz on sbcl-devel
            2003-09-14.

20 years ago0.8.3.61:
Christophe Rhodes [Sun, 14 Sep 2003 16:14:54 +0000 (16:14 +0000)]
0.8.3.61:
Fix for compiler "cannot convert to SINGLE-FLOAT: <largenum>" in
type inference, as reported PFD sbcl-devel 2003-09-13:
... a slight rewrite to the SIGNED-ZERO-OP methods in
src/compiler/srctran.lisp
... not correct in the presence of one integer and one float argument,
as coercion could still occur.  Break me if you can.

20 years ago0.8.3.60:
Alexey Dejneka [Sun, 14 Sep 2003 07:44:45 +0000 (07:44 +0000)]
0.8.3.60:
        * Fix bug reported by Doug McNaught: COMPILE-FILE should bind
          *READTABLE* (we bind it in SUB-COMPILE-FILE).

20 years ago0.8.3.59:
Alexey Dejneka [Sun, 14 Sep 2003 05:02:45 +0000 (05:02 +0000)]
0.8.3.59:
        * Fixed compier failure reported by Paul Dietz to sbcl-devel
          in <3F630474.6070301@dls.net>.

        "APD, continuations do not represent control transfers, is it
        so hard to remember?!"

20 years ago0.8.3.58:
Alexey Dejneka [Sat, 13 Sep 2003 10:39:27 +0000 (10:39 +0000)]
0.8.3.58:
        * Describe problems with source transformation of assotiative
          functions.

20 years ago0.8.3.57:
William Harold Newman [Sat, 13 Sep 2003 01:19:37 +0000 (01:19 +0000)]
0.8.3.57:
redid the implementation of --disable-debugger so that it won't
get bewildered when BREAK is called (thanks to Dan and
Christophe for bug reporting and guidance)
deleted unused DEFUN PRINT-CODE-LOCATIONS
deleted UGLINESS, reexpressing some of the issues as BUGS and
just dropping others ("That's the way it is.":-)

20 years ago0.8.3.45.modular6:
Christophe Rhodes [Fri, 12 Sep 2003 16:53:39 +0000 (16:53 +0000)]
0.8.3.45.modular6:
Implement 64-bit modular arithmetic for alpha.
... can't simplify BIGNUM-LOGNOT or 32BIT-LOGICAL-FOO here,
because modular arithmetic is 64-bit, duh :-)
... it would be nice to compile (logand ... (1- (ash 1 32)))
more efficiently than we currently do; currently we
load up a 32-bit quantity into a register, followed
by an and instruction; however, we should be able
simply to do mskll reg, 4, reg.
I think this works.  Simple testing shows that it seems to work.
But see also CSR sbcl-devel 2003-09-12, because there are a number
of nasty surprises lurking in the depths of this backend.

20 years ago0.8.3.56:
Christophe Rhodes [Fri, 12 Sep 2003 15:23:07 +0000 (15:23 +0000)]
0.8.3.56:
Fix (BYTE 0 0)
... again, in the %LDB-and-friends DERIVE-TYPE methods, but this
time the failure seemed more justifiable, because...
... (UNSIGNED-BYTE 0) is quite naturally interpreted as
(INTEGER 0 0), and that's what we wrote, but ...
... ANSI saith "s---a positive integer".  Ugh.  So ...
... implement SB!INT:UNSIGNED-BYTE* that does the right thing,
and use it to simplify derive-type logic.

20 years ago0.8.3.55:
Christophe Rhodes [Fri, 12 Sep 2003 11:27:39 +0000 (11:27 +0000)]
0.8.3.55:
Tweak the %DPB fix:
... on Alpha, currently N-WORD-BITS = 32 while register
arithmetic is 64-bits.  Extend and document the cutoff
in %DEPOSIT-FIELD DERIVE-TYPE.

20 years ago0.8.3.54:
Alexey Dejneka [Fri, 12 Sep 2003 09:16:53 +0000 (09:16 +0000)]
0.8.3.54:
        * Fix type derivers for %DPB and %DEPOSIT-FIELD: SIGNED-BYTE
          representation requires extra sign bit. (reported by Paul
          Dietz)

20 years ago0.8.3.45.modular5:
Christophe Rhodes [Thu, 11 Sep 2003 16:04:24 +0000 (16:04 +0000)]
0.8.3.45.modular5:
Implement (I think) modular arithmetic for mips.
... factoring out the common bits might be tricky, because mips
in its oddness provides AND, OR, XOR and NOR machine
instructions. Still...

20 years ago0.8.3.53:
Christophe Rhodes [Thu, 11 Sep 2003 15:49:43 +0000 (15:49 +0000)]
0.8.3.53:
LOGBITP fixes
... correctness fix: INDEX can be any UNSIGNED-BYTE, not just a
positive fixnum or an INDEX;
... efficiency fix: don't cons up a bignum as large as memory
when given large INDEX numbers; instead, be efficient
and grab just the relevant word of the INTEGER
argument.

20 years ago0.8.3.52:
Christophe Rhodes [Thu, 11 Sep 2003 12:38:38 +0000 (12:38 +0000)]
0.8.3.52:
Fix treatment of effective addresses for arithmetic
... somewhat similar to the PPC problems, ironically.  We want
to be able to pun signed constants as unsigned
constants, which we could do were it not for those
pesky type declarations...
... so relax the type declarations sufficiently to allow
it to work.

20 years ago0.8.3.51:
Christophe Rhodes [Thu, 11 Sep 2003 11:27:56 +0000 (11:27 +0000)]
0.8.3.51:
Fix (LCM 0 0)

20 years ago0.8.3.50:
Alexey Dejneka [Thu, 11 Sep 2003 10:31:56 +0000 (10:31 +0000)]
0.8.3.50:
        * Fix compiler failures reported by Paul Dietz: be more
          accurate with BLOCK-LAST treating in CONSTANT-FOLD-CALL and
          DO-NODES.

20 years ago0.8.3.49:
Alexey Dejneka [Wed, 10 Sep 2003 14:50:05 +0000 (14:50 +0000)]
0.8.3.49:
        * Fix bogus test for [absence of] function type inference.

20 years ago0.8.3.48:
Christophe Rhodes [Wed, 10 Sep 2003 13:21:29 +0000 (13:21 +0000)]
0.8.3.48:
(SIGNED-BYTE 1) = (INTEGER -1 0)
... detected by random input from pfdietz, noted on #lisp
2003-09-10

20 years ago0.8.3.45.modular4:
Christophe Rhodes [Wed, 10 Sep 2003 09:23:22 +0000 (09:23 +0000)]
0.8.3.45.modular4:
Just move the source transforms to a more logical place on x86

20 years ago0.8.3.45.modular3:
Christophe Rhodes [Tue, 9 Sep 2003 16:57:46 +0000 (16:57 +0000)]
0.8.3.45.modular3:
Implement (I think) modular functions on sparc
... as usual in this kind of thing, an untested last-minute
modification creeps in, because I broke LOGEQV in
an obvious way.  Will test the modification before this
branch gets near HEAD.

20 years ago0.8.3.45.modular2:
Christophe Rhodes [Tue, 9 Sep 2003 16:49:05 +0000 (16:49 +0000)]
0.8.3.45.modular2:
Restore buildability on x86
... define essentially the same source transforms as were
deleted to make the PPC version efficient.
... KLUDGE: the full call version of LOGEQV is now inefficient;
first the arguments get associated into logeqv pairs;
then (LOGNOT (LOGXOR .. ..)) is done on each pair.
Since user code gets transformed to efficiency, this
isn't so bad... only (funcall #'logeqv .. .. ..)
exhibits this problem.

20 years ago0.8.3.47:
Alexey Dejneka [Tue, 9 Sep 2003 07:09:48 +0000 (07:09 +0000)]
0.8.3.47:
        * Fix bugs in PARSE-INTEGER related to the index in
          :JUNK-ALLOWED NIL case and to displaced string processing
          reported by Paul Dietz;
        * fix bug 145b: in CONVERT-MEMBER-TYPE bail out to (TYPE-OF
          MEMBER) in difficult cases.

20 years ago0.8.3.46:
Christophe Rhodes [Mon, 8 Sep 2003 16:57:56 +0000 (16:57 +0000)]
0.8.3.46:
Really really really really fix the ASH bug on MIPS
... really.  Even for constant shifts.

20 years ago0.8.3.45.modular1:
Christophe Rhodes [Mon, 8 Sep 2003 15:47:45 +0000 (15:47 +0000)]
0.8.3.45.modular1:
Implement modular function optimization for PPC.
... Haven't implemented modular - or *; they could be TODO.
... probably doesn't build on anything but PPC currently, so
onto a branch it goes.

20 years ago0.8.3.45:
Christophe Rhodes [Mon, 8 Sep 2003 13:42:12 +0000 (13:42 +0000)]
0.8.3.45:
Fix bug 285
... %MULTIPLY vop was feeling free to scribble over its inputs
... add :FROM and :TO clauses to try to prevent this
... %MULTIPLY-AND-ADD vops are unchanged, but could quite easily be
wrong
OK, OK, I give in
... relax the type declaration on signed-immediate instructions
to allow (unsigned-byte 16)s through

20 years ago0.8.3.44:
Christophe Rhodes [Mon, 8 Sep 2003 09:00:17 +0000 (09:00 +0000)]
0.8.3.44:
"Oops"
... as reported on #lisp IRC by pfdietz, FILL would on occasion
consume all available CPU and RAM...
... unbreak the new vectorized transform by returning the
sequence argument rather than NIL.

20 years ago0.8.3.43:
Christophe Rhodes [Mon, 8 Sep 2003 08:52:14 +0000 (08:52 +0000)]
0.8.3.43:
No functional changes
... update the PPC instruction descriptions to mostly describe
their constraints (probably missing some :writes :lr)
... don't turn the scheduler on, though, because the assembler
wants to fill unschedulable areas with NOPs, which is
probably not a win

20 years ago sb-posix: define msync and its constants
Rudi Schlatte [Sun, 7 Sep 2003 15:24:00 +0000 (15:24 +0000)]
    sb-posix: define msync and its constants
        ... use it in sb-simple-streams

20 years agoRemove files (cl.lisp superseded by impl.lisp, simple-streams.lisp
Rudi Schlatte [Sun, 7 Sep 2003 14:19:08 +0000 (14:19 +0000)]
Remove files (cl.lisp superseded by impl.lisp, simple-streams.lisp
broken in parts)

20 years agoMerge cmucl simple-streams
Rudi Schlatte [Sun, 7 Sep 2003 14:10:26 +0000 (14:10 +0000)]
Merge cmucl simple-streams

... major code shifting: simple-streams.lisp is no more; its contents
    have moved into several  files, each for a specific kind of stream
... file layout is now the same as cmucl pcl/simple-streams directory
    for easier trading of fixes / functionality
... new functionality: external formats (need some work still, but
    infractructure is there), string-streams
... Some functionality still missing (see TODO file)

20 years ago0.8.3.40:
Kevin Rosenberg [Sun, 7 Sep 2003 05:21:59 +0000 (05:21 +0000)]
0.8.3.40:
   * Apply Nikodemus's patch for cl-linedit
   * Minor changes to inspect.lisp

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