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.
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.*
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.
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
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.
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.
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.
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
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).
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.)
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.
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.
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.
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.
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).
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?
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!
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.
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
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.
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.
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.
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
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)
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.
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.
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).
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)
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 :-)
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
William Harold Newman [Fri, 25 Jul 2003 19:54:00 +0000 (19:54 +0000)]
0.8.2:
release, tagged as sbcl_0_8_2
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).
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).
Alexey Dejneka [Mon, 21 Jul 2003 06:09:55 +0000 (06:09 +0000)]
0.8.1.51:
* Update BUGS.
Daniel Barlow [Mon, 21 Jul 2003 00:57:05 +0000 (00:57 +0000)]
0.8.1.50
Alpha fixes before 0.8.2
... correct type declaration for FOREIGN-SYMBOL-ADDRESS-AS-INTEGER
(add N-MACHINE-WORD-BITS to all backends for this purpose)
... correct argument order in the depths of DATA-VECTOR-SET-C/
(DEF-SMALL-DATA-VECTOR-FROBS), so Alpha now passes bit
array tests
run-tests.sh now prints the filename of the failing test just
before stopping, which should save on the effort required to
misinterpret the backtrace
delete final full stop from " cd tests && sh ./run-tests.sh."
in make.sh so I can triple-click the line to do exactly that
commit patch for BASE-CHAR-COMPARE/C that Christophe sent me
(alpha/char.lisp). I hope this is what he wanted ...
Alexey Dejneka [Sun, 20 Jul 2003 08:23:17 +0000 (08:23 +0000)]
0.8.1.49:
* Fix bug 262: LOAD-DEFMETHOD-INTERNAL checks whether GF has
any methods before calling FIND-METHOD;
... late condition slot installers do not overwrite GF lambda
list.
Christophe Rhodes [Sat, 19 Jul 2003 14:36:12 +0000 (14:36 +0000)]
0.8.1.48:
Frobs to previous patches
... Fix off-by-one error in column number reporting absent any
#\Newlines in READER-ERROR
... change the test for BUFFER-P in fd-stream (and add entry
in BUGS)
Daniel Barlow [Fri, 18 Jul 2003 21:40:43 +0000 (21:40 +0000)]
0.8.1.48
Significantly rearrange locking code for thread waitqueues, to
eradicate races shown up in McCLIM applications. It's better
than it was, and I can't trigger the lockup any longer: I
don't claim it's _correct_, just that I can no longer see
anything wrong with it
Tidy up some constants in sb-bsd-sockets
Amend spec in SB-POSIX to deal better with the differences
between a CL namestring and a string-representing-a-filename-
as-known-to-the-OS
William Harold Newman [Fri, 18 Jul 2003 20:19:40 +0000 (20:19 +0000)]
0.8.1.47:
A +FASL-FILE-VERSION+ a month reduces bug hunth.
Christophe Rhodes [Fri, 18 Jul 2003 17:01:33 +0000 (17:01 +0000)]
0.8.1.46:
Merge patch from David Lichteblau (sbcl-devel 2003-06-01) for
(signed-byte 8) streams.
... no real insight, so merge it and hope for the best
Christophe Rhodes [Fri, 18 Jul 2003 16:14:54 +0000 (16:14 +0000)]
0.8.1.45:
Merge patch from Nikodemus Siivola for nicer error reporting
on READER-ERRORs
... frob it a bit to reduce the number of erring possibilities
Christophe Rhodes [Fri, 18 Jul 2003 14:47:50 +0000 (14:47 +0000)]
0.8.1.44:
Merge patch from Nikodemus Siivola for FILE-POSITION on
STRING-INPUT-STREAMs
... :START and :END are valid file position designators, so
accept them.
Christophe Rhodes [Fri, 18 Jul 2003 13:52:37 +0000 (13:52 +0000)]
0.8.1.43:
Get SB-MOP:CLASS-PROTOTYPE right in more cases
... new :PROTOTYPE-FORM property in
SB-KERNEL:*BUILT-IN-CLASSES* list;
... use it to generate the prototype in
SB-PCL::*BUILT-IN-CLASSES*;
bonus: since this means we have an instance of almost every
built-in-class by SAVE-LISP-AND-DIE time, we can detect
longstanding bugs in PURIFY
... make complex bit-vectors and simple-array-nils purifyable.
Christophe Rhodes [Fri, 18 Jul 2003 13:36:39 +0000 (13:36 +0000)]
0.8.1.42:
Update to upstream asdf
... now with better restarts and less nonsensical warning texts
Alexey Dejneka [Fri, 18 Jul 2003 06:33:50 +0000 (06:33 +0000)]
0.8.1.41:
Remove time calls in make.sh :-(
Alexey Dejneka [Fri, 18 Jul 2003 05:47:23 +0000 (05:47 +0000)]
0.8.1.40:
* Fix optimizer of BIT-NOT;
* remove explicit type check in PEEK-CHAR.
Christophe Rhodes [Thu, 17 Jul 2003 16:34:16 +0000 (16:34 +0000)]
0.8.1.39:
WARNING: here be low-quality code
... implement more disassembly notes for PPC.
... full of horrible literal constants. Needs refactoring.
Christophe Rhodes [Thu, 17 Jul 2003 15:00:52 +0000 (15:00 +0000)]
0.8.1.38:
Make it slightly easier on the type inferencer: don't even
threaten to return NIL from a string array reference.
... use ETYPECASE instead of TYPECASE.
Alexey Dejneka [Thu, 17 Jul 2003 12:00:35 +0000 (12:00 +0000)]
0.8.1.37:
* Cleanup of MACROLET processing;
... fix bug 264: interpreted version of SYMBOL-MACROLET did
not check for a bound SPECIAL declaration.
Alexey Dejneka [Thu, 17 Jul 2003 08:14:30 +0000 (08:14 +0000)]
0.8.1.36:
* Remove several DECLAIMs for internal functions;
* DEFSTRUCT: PROCLAIM return type of structure predicate.
Christophe Rhodes [Wed, 16 Jul 2003 11:51:25 +0000 (11:51 +0000)]
0.8.1.35:
Remove leakage from host to target of ARRAY-FOO-LIMIT via the INDEX
type
... don't UNCROSS everything in DEF!TYPE, just the name.
... test for one of the symptoms (thanks to Patrik Nordebo for
providing a manageable test case)
Christophe Rhodes [Wed, 16 Jul 2003 08:25:59 +0000 (08:25 +0000)]
0.8.1.34:
Merge vector_nil_string_branch
... many other incremental fixes, including
* decrease of number of places array properties need to be
specified;
* rework of build order so that unknown types are never
specialized;
* primitive types need to know the specifier, not the ctype, so
make it so;
* fixes to the kernel classoid hierarchy, so more likely to be
consistent internally.
The good news is that, should it prove necessary, reverting this patch
so that (vector nil) isn't a string is probably not very much work; all
that needs to be changed are the kernel classoid supertypes and the
STRING and SIMPLE-STRING definitions (and unparses). On the other hand,
I'd be interested in trying to fix any performance problem "the right
way" before reverting this behaviour.
Alexey Dejneka [Wed, 16 Jul 2003 06:59:41 +0000 (06:59 +0000)]
0.8.1.33:
* Fixed bug 263: coerce logical block affixes to
SIMPLE-STRING;
* COMPLEX-= type method: don't reparse totally unknown type
specifier;
* !DEF-BOOLEAN-ATTRIBUTES: create an attributes to list
decoder;
* FUN-INFO: print attributes;
* optimizer for ARRAY-HEADER-P: reimplement as DERIVE-TYPE.
Christophe Rhodes [Tue, 15 Jul 2003 15:56:04 +0000 (15:56 +0000)]
0.8.0.78.vector-nil-string.15:
Since I previously made a note that the applicability of the
REPLACE transform was critical for the performance of
string-streams
... move types around sufficiently that the REPLACE transform
becomes applicable again in string-stream machinery.
(not that I observe the dramatic speedup I was hoping for)
Christophe Rhodes [Tue, 15 Jul 2003 09:36:15 +0000 (09:36 +0000)]
0.8.0.78.vector-nil-string.14:
Minor frobs, mostly to put behaviour back to as I found it in
unimportant bits. I think there's still a small performance
problem, which I'm investigating.
Alexey Dejneka [Fri, 11 Jul 2003 16:48:47 +0000 (16:48 +0000)]
0.8.1.32:
* Condition slot accessor installer: call
ENSURE-GENERIC-FUNCTION;
* fixed type method (VALUES :SIMPLE-=);
* SB-C::DOMAIN-SUBTYPEP: merged patch by DTC 1999/01/23.
Christophe Rhodes [Fri, 11 Jul 2003 08:38:11 +0000 (08:38 +0000)]
0.8.1.31:
Delete unused %TEST-LOWTAG-AND-HEADERS type-vop function
Minor textual edit to the text at the end of make.sh
William Harold Newman [Thu, 10 Jul 2003 21:46:57 +0000 (21:46 +0000)]
0.8.1.30:
fiddled with return code of condition.impure.lisp to keep
run-tests.sh script happy
trivial text/whitespace tweaking
Alexey Dejneka [Thu, 10 Jul 2003 07:27:03 +0000 (07:27 +0000)]
0.8.1.29:
* DELETE-BLOCK: if the last continuation has a destination,
delete it. (bug reported by ohler on #lisp 2003-07-10)
* make condition slot accessors be methods.
Alexey Dejneka [Wed, 9 Jul 2003 12:30:12 +0000 (12:30 +0000)]
0.8.1.28:
* s/*THE-PCL-PACKAGE*/*PCL-PACKAGE*/ (reported by Istvan
Marko).
Alexey Dejneka [Mon, 7 Jul 2003 16:35:48 +0000 (16:35 +0000)]
0.8.1.27:
* Derive types of variables, bound with MV-BIND, even if we
don't know the number of values, returned by the argument.
Alexey Dejneka [Mon, 7 Jul 2003 13:26:49 +0000 (13:26 +0000)]
0.8.1.26:
* tests of sb-bsd-sockets: SOCKET-ERROR is not exported.
Alexey Dejneka [Sat, 5 Jul 2003 08:07:09 +0000 (08:07 +0000)]
0.8.1.25:
* Implement intersection of function types.
Alexey Dejneka [Fri, 4 Jul 2003 05:18:25 +0000 (05:18 +0000)]
0.8.1.24:
* SB-BSD-SOCKETS: test of local sockets tries both stream and
datagram kinds;
* COMPLEX-= type method: if the second type is unknown, try to
reparse it.
Christophe Rhodes [Thu, 3 Jul 2003 19:21:31 +0000 (19:21 +0000)]
0.8.1.23:
Fix (from rtoy via CMUCL) for a problem initially reported by
Gareth McCaughan cmucl-imp 2003-05-08 regarding x86 atan2
... cater for the fact that both arguments may be in fr0
... distilled test case from rtoy
Christophe Rhodes [Thu, 3 Jul 2003 19:18:59 +0000 (19:18 +0000)]
0.8.1.22: (sort of) commit file forgotten
Christophe Rhodes [Thu, 3 Jul 2003 19:06:43 +0000 (19:06 +0000)]
0.8.1.22:
Since I'm playing with PPC assembler anyway...
... might as well implement the necessary stuff so that
ROTATE-BYTE (and SB-MD5) can perform acceptably
... couple of new instruction macros in the base system,
and use them in the rotate-byte system
Christophe Rhodes [Thu, 3 Jul 2003 14:28:24 +0000 (14:28 +0000)]
0.8.1.21:
Constant base-char compares for PPC
... also fix some problems revealed by OpenMCL: the initarg for
SIMPLE-CONDITIONS is :FORMAT-CONTROL, not :FORMAT-STRING
... also fix something observed way back when by KingNato on #lisp
IRC: in arch_get_bad_addr, change a bogus && to ||
Christophe Rhodes [Thu, 3 Jul 2003 11:22:20 +0000 (11:22 +0000)]
0.8.1.20:
Really inline math (sic) routines
... we need the proclamation to take effect at compile-time, so
change PROCLAIM to DECLAIM
... fix up the two other instances of PROCLAIMs being used where
DECLAIM should have been
Christophe Rhodes [Thu, 3 Jul 2003 10:30:10 +0000 (10:30 +0000)]
0.8.1.19:
Implement constant base-char comparisons for SPARC
Alexey Dejneka [Thu, 3 Jul 2003 08:49:50 +0000 (08:49 +0000)]
0.8.1.18:
Dump my local bug list.
Alexey Dejneka [Thu, 3 Jul 2003 07:38:52 +0000 (07:38 +0000)]
0.8.1.17:
* Make sure that recursive call of
SOURCE-TRANSFORM-UNION-TYPEP gets simpler argument.
William Harold Newman [Thu, 3 Jul 2003 00:08:41 +0000 (00:08 +0000)]
0.8.1.16:
compiler WARNING tweaks
other message tweaks
Christophe Rhodes [Wed, 2 Jul 2003 14:32:12 +0000 (14:32 +0000)]
0.8.1.15:
Mostly MIPS goodies, though some infrastructural fixes too
... fix hideous DEFINE-PARTIAL-REFFER constant-case bug;
... also adjust the costs so that the constant reffers and
setters are prioritized;
... also build fix for undefined static symbols (reported by
KMR end June 2003)
... include src/runtime/Config in tools-for-build/Makefile
(and adjust order of events in make-config.sh to
ensure that src/runtime/Config exists by the time
we need to build any of the tools-for-build)
Christophe Rhodes [Wed, 2 Jul 2003 08:36:56 +0000 (08:36 +0000)]
0.8.1.14:
Fix OPTIMIZATIONS #1b on x86, at Gilbert Baumann's request (on
#lisp IRC 2003-07-01)
... new VOPs for base-char comparisons with constant second
argument;
... new transforms for CHAR< and CHAR> to ensure that any constant
argument is second;
... don't fall into the trap of assuming that the world is ASCII;
instead, define SB!XC:CODE-CHAR and SB!XC:CHAR-CODE that
deal with converting STANDARD-CHARs to and from ASCII codes;
... in the interest of the sanity of those with slow machines, refactor
tests/seq.impure.lisp slightly so that it takes somewhat less
time than the cosmological epoch to run
Alexey Dejneka [Tue, 1 Jul 2003 05:23:06 +0000 (05:23 +0000)]
0.8.1.13:
* Index argument of LAST and [N]BUTLAST may be a bignum (from
Paul Dietz' test suite).
William Harold Newman [Mon, 30 Jun 2003 19:28:17 +0000 (19:28 +0000)]
0.8.1.12:
minor ANSI-compliance fix: CONTROL-ERROR from failed
MUFFLE-WARNING (caught by clocc-ansi-test)
centralized FIND-RESTART-OR-CONTROL-ERROR logic more than
before
Alexey Dejneka [Mon, 30 Jun 2003 07:10:46 +0000 (07:10 +0000)]
Ops. Remove bogus time calls.
Alexey Dejneka [Mon, 30 Jun 2003 07:06:48 +0000 (07:06 +0000)]
0.8.1.11:
* Index argument of NTH and NTHCDR may be a bignum (bug
reported by Adam Warner on c.l.l).
Alexey Dejneka [Mon, 30 Jun 2003 04:24:13 +0000 (04:24 +0000)]
0.8.1.10:
* Make condition-related functions be known (reported by Paul
Dietz);
* fix type declaration of CERROR.
Christophe Rhodes [Fri, 27 Jun 2003 10:07:44 +0000 (10:07 +0000)]
0.8.1.9:
Implement slightly DWIMish behaviour for (TYPE (ARRAY FOO ..) ..)
declarations, as discussed on the CLHS "Declaration TYPE" page, and
on sbcl-help circa 2003-05-08 and with Fufie on #lisp around
2003-06-24
... We need the target's UPGRADED-ARRAY-ELEMENT-TYPE, so move
the definition and define it in SB!XC
... use it (carefully) in MAKE-ARRAY optimizers and transforms,
because the declaration behaviour we're implementing
doesn't extend to (MAKE-ARRAY .. :ELEMENT-TYPE 'FOO)
... insert appropriate THEs in HAIRY-DATA-VECTOR-{REF,SET} if the
declared array element type isn't the same as the
declared upgraded element type
Christophe Rhodes [Fri, 27 Jun 2003 09:08:27 +0000 (09:08 +0000)]
0.8.0.78.vector-nil-string.13:
Update other architectures for (vector nil) as string
... just replace simple-string with simple-base-string as the
primitive type. Untested as yet; will be tested on sparc
post-commit.
William Harold Newman [Thu, 26 Jun 2003 19:36:02 +0000 (19:36 +0000)]
0.8.1.8:
There seems to be no reason to use LET () instead of PROGN in
the #+SB-XC-HOST case of !COLD-INIT-FORMS; and the
nontoplevelness caused a problem (*QUEUED-PROCLAIMS*
not declared special before use, because DEFVAR wasn't
at toplevel when wrapped in LET (); then reported as
full warning by xc host) reported by KingNato on #lisp.
broke some long lines noticed when looking at !C-I-F forms
Even though the new !COLD-INIT-FORMS-as-PROGN might suffice to
allow the system to build on MacOS without WARNINGs,
without further change, it seemed easier to understand
if I moved the DEFVAR *Q-P* outside the !C-I-F, leaving
only SETF inside, so I did.
William Harold Newman [Thu, 26 Jun 2003 18:58:44 +0000 (18:58 +0000)]
0.8.1.7:
improved GET-MACHINE-VERSION implementation in some #+LINUX
cases (thanks to Lars Brinkhoff)
OAOOish tidying of CL:MACHINE-VERSION
Christophe Rhodes [Thu, 26 Jun 2003 09:54:54 +0000 (09:54 +0000)]
0.8.1.6:
Fix off-by-one error in %CHECK-BOUNDS transform for known array
dimensions
Christophe Rhodes [Thu, 26 Jun 2003 09:07:11 +0000 (09:07 +0000)]
0.8.0.78.vector-nil-string.12:
Use *SAETP* to generate the data for internal error definition
(net win so far: 13)
Alexey Dejneka [Thu, 26 Jun 2003 07:50:27 +0000 (07:50 +0000)]
0.8.1.5:
* Fix bugs 3cd:
... flush DSD-SAFE-P if the new type is more restrictive than
the original;
... make out of line structure slot readers check type for
unsafe slots.
Christophe Rhodes [Wed, 25 Jun 2003 16:59:35 +0000 (16:59 +0000)]
0.8.0.78.vector-nil-string.11:
Use *SAETP* to generate codes for type-vops
... (net win so far: 11)
Alexey Dejneka [Wed, 25 Jun 2003 16:07:06 +0000 (16:07 +0000)]
0.8.1.4:
Update documentation for type checking.
Christophe Rhodes [Wed, 25 Jun 2003 14:23:54 +0000 (14:23 +0000)]
0.8.0.78.vector-nil-string.10:
Use *SAETP* in HAIRY-DATA-VECTOR-REF/HAIRY-DATA-VECTOR-SET
... new IMPORTANCE field in SAETPs, detailing how important we
should think arrays of that type are.
(net win so far: 7)
Christophe Rhodes [Wed, 25 Jun 2003 09:30:55 +0000 (09:30 +0000)]
0.8.0.78.vector-nil-string.9:
Indeed, with a little build rearrangement, we don't need a
temporary SB!XC:DEFTYPE FIXNUM, so let's do that instead.
... move some of src/code/type-init.lisp into
src/code/class-init.lisp