Christophe Rhodes [Wed, 1 Jun 2005 14:46:24 +0000 (14:46 +0000)]
0.9.1.18:
Fix for the modular arithmetic improvement from nfroyd
... lognot is unary :-)
... (I don't have _Hacker's Delight_, so I guessed what was
meant).
Nathan Froyd [Wed, 1 Jun 2005 14:06:49 +0000 (14:06 +0000)]
0.9.1.17:
Disable bit-bashing transforms on (VECTOR NIL).
Christophe Rhodes [Wed, 1 Jun 2005 13:59:02 +0000 (13:59 +0000)]
0.9.1.16:
Implement SOCKET-OPEN-P mostly per Tony Martinez sbcl-devel
2004-10-23.
... add a test or two for it, which look a bit weird to me
but what do I know?
Nathan Froyd [Wed, 1 Jun 2005 13:41:40 +0000 (13:41 +0000)]
0.9.1.15:
Improve modular arithmetic by:
* Making bounds of (unsigned) modular function type derivation
more precise;
* Being less pessimistic when deriving bounds for LOGAND in
the case when its arguments are known to be bounded and
unsigned. As a bonus, LOGIOR type derivation in the same
case is now more precise as well.
The upshot of all this is that a function like:
(defun foo (x y)
(declare (type (integer 0 3) x y))
(mod (- (+ x 4) y) 4))
now uses only fixnum arithmetic.
Christophe Rhodes [Wed, 1 Jun 2005 13:19:36 +0000 (13:19 +0000)]
0.9.1.14:
Fix the canonicalized default initarg protocol
... (KEY FORM FUN) rather than (KEY FUN FORM).
I hope this isn't too painful for anyone out there.
Christophe Rhodes [Wed, 1 Jun 2005 12:08:50 +0000 (12:08 +0000)]
0.9.1.13:
Fix for Haiblebug "ensure-generic-function doesn't support
:declare"
... simply allow both :declare and :declarations;
... add some documentation and index entries.
Christophe Rhodes [Wed, 1 Jun 2005 11:42:43 +0000 (11:42 +0000)]
0.9.1.12:
Merge "Add socket-not-connected-error to sb-bsd-sockets" (Tony
Martinez sbcl-devel 2004-11-06)
... NOT-CONNECTED-ERROR seems to match the naming scheme better
than SOCKET-NOT-CONNECTED-ERROR.
Christophe Rhodes [Wed, 1 Jun 2005 11:22:59 +0000 (11:22 +0000)]
0.9.1.11:
Merge patch ("SOCKET-CLOSE closes different socket's fd stream"
Tony Martinez sbcl-devel 2004-10-25 *sigh*)
... there's a suspicious-looking bit of stuff in the cond clause
above it, too: what happens if closing the stream causes
an error? FIXME.
Christophe Rhodes [Wed, 1 Jun 2005 10:07:39 +0000 (10:07 +0000)]
0.9.1.10:
MORE DIFFSTAT
... merge Thiemo Seufer "Makefile improvements for the C
runtime" sbcl-devel 2005-05-29
... better dependency chasing by gcc;
... s/arch/LISP_FEATURE_ARCH/, hooray.
Add stuff to .cvsignores until it mostly stops emitting ?s
Untested on anything not x86-64. Shout if broken.
Juho Snellman [Wed, 1 Jun 2005 06:06:20 +0000 (06:06 +0000)]
0.9.1.9:
Fix a few ansi-test failures. Symbols can't be both the name of
a type and the name of a declaration (ANSI 3.8.21).
* Add a validate-function slot into the globaldb TYPE-INFO
structure. If defined, the function is called from (SETF INFO)
before SET-INFO-VALUE.
* Define validation functions for (INFO :TYPE :KIND) and
(INFO :DECLARATION :RECOGNIZED).
* Remove (DECLAIM (DECLARATION CLASS)) from PCL. As far as I
can see, PCL uses %CLASS for its internal declarations these
days.
Juho Snellman [Mon, 30 May 2005 05:25:44 +0000 (05:25 +0000)]
0.9.1.8:
* Fix typo (current-dynamic-space-spart -> current-dynamic-space-start)
in the gencgc branch of the "clean up DYNAMIC-SPACE-START
and -END ugliness on cheney-platforms" changes in 0.9.1.5.
* Fix compiling with GCC 4 on x86 and x86-64 (sbcl-devel
"Fixes for gcc4", Sascha Wilde).
* Remove a leftover "with-tn@fp-top(x)" from x86-64/float.lisp
(sbcl-devel , James Knight)
* More x86-64 fp cleanups. (sbcl-devel "x86-64 fp exceptions",
"x86-64 move-*-float-arg bug", James Knight 2005-05-27/29).
Nikodemus Siivola [Sun, 29 May 2005 21:08:45 +0000 (21:08 +0000)]
0.9.1.7: "fix" SB-SPROF on non-gencgc platforms
* block some "potentially dangerous, but not really important"
signals for GC on non-gencgc platforms. see kludge_sigset_for_gc
for commentary.
Gabor Melis [Sun, 29 May 2005 15:55:13 +0000 (15:55 +0000)]
0.9.1.6:
* fixed some lockups due to gc/thread interaction
* removed unused functions: unblock_sigcont_and_sleep, block_sigcont
Nikodemus Siivola [Sun, 29 May 2005 15:48:37 +0000 (15:48 +0000)]
0.9.1.5: bigger dynamic space on PPC plus cleanups
* patch by Cyrus Harmon
* clean up DYNAMIC-SPACE-START and -END ugliness on cheney-platforms.
Nikodemus Siivola [Sun, 29 May 2005 10:37:20 +0000 (10:37 +0000)]
0.9.1.4: ENSURE-CLASS-USING-CLASS patch by Gerd Moellman, from cmucl-imp
* accept a class as :METACLASS as per AMOP.
Rudi Schlatte [Sun, 29 May 2005 10:27:38 +0000 (10:27 +0000)]
0.9.1.3
Small stream cleanups:
- Use same names in generalized-peeking-mechanism as cmucl
- set-fd-stream-routines can now in theory be used to change stream
element-type and external-format (but this clashes with
fast-read-char/-byte, since these work off another layer of buffers)
Christophe Rhodes [Sat, 28 May 2005 09:00:34 +0000 (09:00 +0000)]
0.9.1.2:
Merge a couple of cleanup fixes that I've had tagged for months
if not years.
Juho Snellman [Thu, 26 May 2005 22:53:59 +0000 (22:53 +0000)]
0.9.1.1:
* Invalid dotted lists no longer raise a read error when
*READ-SUPPRESS* is T
* Use a more tasteful :EXPECTED-TYPE for type errors related to
function names
William Harold Newman [Thu, 26 May 2005 19:11:40 +0000 (19:11 +0000)]
0.9.1:
release, tagged as sbcl_0_9_1
Juho Snellman [Sun, 22 May 2005 00:07:45 +0000 (00:07 +0000)]
0.9.0.41:
Increment +FASL-FILE-VERSION+.
Rudi Schlatte [Fri, 20 May 2005 16:43:21 +0000 (16:43 +0000)]
0.9.0.40
Fix peek-char bug reported by Fredrik Sandstrom (sbcl-devel
2005-05-17, "Bug in peek-char")
Christophe Rhodes [Fri, 20 May 2005 09:45:14 +0000 (09:45 +0000)]
0.9.0.39:
Merge amended "64bit FFI for mips/mipsel" patch (Thiemo Seufer
sbcl-devel 2005-05-09)
... including 64-bit return value in call_into_lisp. (Not
currently used)
... other minor MIPS cleanups and bugfixes too as described
in the mail message.
Juho Snellman [Thu, 19 May 2005 02:50:38 +0000 (02:50 +0000)]
0.9.0.38:
Fix a few ansi-test bugs:
* The type-errors signalled for invalid function names now have
a correct (if ugly) expected type.
* Functions taking type names as arguments correctly signal
type-errors (instead of package-lock errors, arg-count-errors,
etc) for some pathological non-function names (e.g (SETF),
(SETF . BAR)).
* (SETF (DOCUMENTATION ... 'STRUCTURE)) no longer signals an error
for structures defined with a :TYPE.
* Documentation strings specified in the DEFSTRUCT form for
typed structures are no longer immediately discarded (not
strictly a bug, just a quality of implementation issue...)
* FILE-STRING-LENGTH and STREAM-EXTERNAL-FORMAT now work on
non-fd-streams too.
* FILE-LENGTH now also works on broadcast streams. The spec
has slightly conflicting opinions on this issue; FILE-LENGTH
description says that stream must be associated with stream
or an error is signalled. BROADCAST-STREAM description
explicitly describes how FILE-LENGTH must be implemented.
Juho Snellman [Wed, 18 May 2005 02:22:48 +0000 (02:22 +0000)]
0.9.0.37:
* Merge sbcl-devel "Unneeded REX prefixes on x86-64"
(Lutz Euler, 2005-05-17)
* Merge sbcl-devel " x86-64 fp exceptions" (James Knight,
2005-05-17)
* Add "--userinit /dev/null --sysinit /dev/null" to the
default SBCL_XC_HOST.
* Clean up some stale x86 code (mostly floating point related)
in the x86-64 port.
Rudi Schlatte [Mon, 16 May 2005 19:40:08 +0000 (19:40 +0000)]
Fix bug 242 for fd-streams
... fd-streams have a method that writes n octets; use it.
Rudi Schlatte [Mon, 16 May 2005 12:19:33 +0000 (12:19 +0000)]
0.9.0.35
Slight depessimization of WRITE-SEQUENCE of byte arrays
... Don't go through full stream dispatch machinery for every byte
Rudi Schlatte [Sun, 15 May 2005 20:09:56 +0000 (20:09 +0000)]
0.9.0.34
Eliminate unnecessary seeks on socket streams
... Introduce dual-channel-p flag in fd-streams to discriminate
between files and socket/pipe-streams
Christophe Rhodes [Sun, 15 May 2005 15:03:07 +0000 (15:03 +0000)]
0.9.0.33:
Make SB-MD5 enforce its requirements.
... also keep lambda lists around, for manual autogroveling
purposes
Nikodemus Siivola [Sun, 15 May 2005 12:49:16 +0000 (12:49 +0000)]
0.9.0.32: "ASCII by any other name"
* Solaris nl_langinfo calls ASCII "646", so add the aliases for
:ISO-646, :ISO-646-US, and :|646|; restores Solaris buildabilty.
...now there's still failing tests though: backtrace issues and the
compiler is losing type information...
Nikodemus Siivola [Sat, 14 May 2005 14:24:29 +0000 (14:24 +0000)]
0.9.0.31: sparc build fixes
* disembodied WITH-FIXED-ALLOCATION.
* globals.h patch from Thiemo Seufer.
... not that this is enough to restore Sparc buildability yet,
but at least with this we can reach make-target-2.sh...
Nikodemus Siivola [Fri, 13 May 2005 18:30:44 +0000 (18:30 +0000)]
0.9.0.30: towards callbacks: static-vectors
* SB-INT:MAKE-STATIC-VECTOR allows direct allocation of specialized
vectors to static space. This is eventually destined to become
SB-EXT:MAKE-STATIC-ARRAY, but needs more frills before that --
current setup is enough to support callbacks (and a bit more then
that).
* unrelated defrobnification, s/&rest/&body/ in a few places, and
commentary on cunning punning.
Kevin Rosenberg [Thu, 12 May 2005 21:47:12 +0000 (21:47 +0000)]
0.9.0.29:
* contrib/sb-aclrepl/repl.lisp: Use new toplevel catch rather than
attempt to use the removed toplevel restart handler.
Christophe Rhodes [Thu, 12 May 2005 14:33:13 +0000 (14:33 +0000)]
0.9.0.28:
Fix for "fun with frameworks" SIGBUS bug.
... arg. (argv[] specifically)
Nikodemus Siivola [Wed, 11 May 2005 07:49:18 +0000 (07:49 +0000)]
0.9.0.27: fix bug 281, plus a tiny PCL cleanup
* COMPUTE-EFFECTIVE-METHOD-COMBINATION for SHORT-METHOD-COMBINATION should
not signal an error for a bogus qualifier, but merely return a form that
takes care of the signalling later.
* EWTF: ESETF cannot be an optimization anymore, if it ever was.
Christophe Rhodes [Sun, 8 May 2005 15:55:06 +0000 (15:55 +0000)]
0.9.0.26:
More build fixes
... for our non-8859-1 friends, explicitly request the C locale
while building.
... running the tests (and indeed starting up the new sbcl)
in unknown locales will fail instantly, but that's probably
less annoying than having the build fail at cold-init time.
... probably stdin/out/err should fall back to ascii external format
if all else fails
Christophe Rhodes [Sat, 7 May 2005 16:12:06 +0000 (16:12 +0000)]
0.9.0.25:
Build fixes
... only complain about unknown external formats on character
streams;
... with-fixed-allocation bodies on x86 (and probably x86-64)
Rudi Schlatte [Sat, 7 May 2005 10:32:34 +0000 (10:32 +0000)]
0.9.0.24
Don't silently assume LATIN-1 for unknown / misspelled
:external-format argument
Alexey Dejneka [Sat, 7 May 2005 06:04:36 +0000 (06:04 +0000)]
0.9.0.23:
* Fix compiler failure reported by Alan Shields:
MAYBE-INFER-ITERATION-VAR-TYPE failed to deal with types
(REAL * (x)).
Nikodemus Siivola [Fri, 6 May 2005 18:58:34 +0000 (18:58 +0000)]
0.9.0.22: more fixed allocation
* fix remaining WITH-FIXED-ALLOCATIONS with empty bodies. NB: there
seems to be some doubt whether this is actually the right thing to
do, as CMUCL has at least in sparc/float.lisp in MOVE-FOO-FLOAT a
commit message by William Lott indicating that this was
intentional "to avoid handling a trap within P-A". Which trap that
would be is unclear, but hopefully we will eventually rediscover
the cases where this is intentional.
* make WITH-FIXED-ALLOCATION signal a BUG if body is empty to catch
this in the future.
* sprinkle WITH-FIXED-ALLOCATION with FAIRY-D^WONCE-ONLY on platforms
that didn't have it yet.
Rudi Schlatte [Fri, 6 May 2005 12:20:45 +0000 (12:20 +0000)]
0.9.0.21:
There were two functions to refill the buffer of an fd-stream from its
fd. Zap the less complicated-looking one.
* Rename frob-input to refill-buffer/fd
* Make comment and code agree about its return value
* Remove refill-fd-stream-buffer
Nathan Froyd [Fri, 6 May 2005 00:11:02 +0000 (00:11 +0000)]
0.9.0.20:
Fix suspicious-looking uses of WITH-FIXED-ALLOCATION in the PPC,
SPARC and HPPA backends.
Christophe Rhodes [Thu, 5 May 2005 10:33:31 +0000 (10:33 +0000)]
0.9.0.19:
Fix bug discovered by CSR on comp.lang.lisp in message
<sqacnh7s0q.fsf@cam.ac.uk>
... treat :overwrite like :append
Christophe Rhodes [Wed, 4 May 2005 10:35:49 +0000 (10:35 +0000)]
0.9.0.18:
Basically s/assert/aver/ (Thiemo Seufer)
Nikodemus Siivola [Wed, 4 May 2005 07:31:37 +0000 (07:31 +0000)]
0.9.0.17: minor tweaks
* install.sh checks that src/runtime/sbcl and output/sbcl.core exist,
and abort if not.
* distable step-instrumentation if COMPILATION-SPEED >= DEBUG.
Juho Snellman [Mon, 2 May 2005 17:11:11 +0000 (17:11 +0000)]
0.9.0.16:
* "A fix for a FIXME in generic subtraction on x86-64/x86",
Lutz Euler, sbcl-devel/2005-05-01
* MAKE-VALID-LISP-OBJ now also works on immediate single floats.
* The x86-65 UNSIGNED-BYTE-64-P and CHECK-UNSIGNED-BYTE-64 VOPs can
actually be compiled.
Christophe Rhodes [Mon, 2 May 2005 16:32:19 +0000 (16:32 +0000)]
0.9.0.15:
STREAM-MUST-BE-ASSOCIATED-WITH-FILE generates a type-error
with a DATUM. (PFD ansi-tests)
Christophe Rhodes [Mon, 2 May 2005 14:54:32 +0000 (14:54 +0000)]
0.9.0.14:
Fix for WARN's type-error (among others: ENFORCE-TYPE / PFD
ansi-tests)
... the initarg is :DATUM, not :VALUE.
Christophe Rhodes [Sun, 1 May 2005 09:12:53 +0000 (09:12 +0000)]
0.9.0.13:
Miscellaneous small fixes
... manual patches, from Adam Warner and Peter Barabas
... %reader-error from Raymond Toy
... external-format tests from Teemu Kalvas
Alexey Dejneka [Sun, 1 May 2005 06:33:57 +0000 (06:33 +0000)]
0.9.0.12:
* On X86 some -MOD32 VOPs now work with (SIGNED-BYTE 32)
arguments (eliminates full call in the example provided by
James Y Knight on sbcl-devel 2005-04-29).
Christophe Rhodes [Sat, 30 Apr 2005 19:43:56 +0000 (19:43 +0000)]
0.9.0.11:
Implement SB-POSIX:MKSTEMP (from Yannick Gingras sbcl-devel
2004-01-03 *blush*)
Christophe Rhodes [Sat, 30 Apr 2005 19:14:13 +0000 (19:14 +0000)]
0.9.0.10:
More MIPS/Thiemo patchery
... blast away icache after purify()
Message-ID: <
20050422233214.GN10767@hattusa.textio>
Christophe Rhodes [Sat, 30 Apr 2005 18:20:57 +0000 (18:20 +0000)]
0.9.0.9:
More ThiemoSeuferPatches
... move search_space out of a .h file and into the common .c
file
Message-ID: <
20050422220942.GH10767@hattusa.textio>
(this version passes a respectable number of PFD ansi-tests
on the x86. It doesn't run them to completion, mind you, but
that I think is because of the test framework: MISC.587 at present
signals a control-stack-exhausted error on the x86, which of course
is not an ERROR but is a SERIOUS-CONDITION)
Christophe Rhodes [Sat, 30 Apr 2005 17:24:19 +0000 (17:24 +0000)]
0.9.0.8:
MIPS cleanup-related patches, from Thiemo Seufer
... prefer LISP_FEATURE_FOO preprocessor things
Message-ID: <
20050422212841.GD10767@hattusa.textio>
... C style cleanups
Message-ID: <
20050422214218.GF10767@hattusa.textio>
... more strenuous os_flush_icache. "Should make no difference
in theory, but seems to in practice"
Message-ID: <
20050422220354.GG10767@hattusa.textio>
... prefer type \n name() C function name style;
conditionally compile the alpha stuff in segv handler;
remove (unused) sigcont handler
Message-ID: <
20050422222628.GI10767@hattusa.textio>
Christophe Rhodes [Sat, 30 Apr 2005 09:40:41 +0000 (09:40 +0000)]
0.9.0.7:
Begin MIPS megamerge from Thiemo Suifer ("More MIPS-related patches"
sbcl-devel 2005-04-23)
This patch merges those pieces which only touch MIPS code, and
as such I can't really test in a non-trivial way.
... don't use nl4 (pa-flag) in assembly routines
Message-ID: <
20050422211550.GB10767@hattusa.textio>
... fix my thinko in the fixnum/sb-xc:fixnum backend immediate-sc
routine
Message-ID: <
20050422212056.GC10767@hattusa.textio>
... use linux-nm. (Other backends maybe should do the same)
Message-ID: <
20050422213247.GE10767@hattusa.textio>
... lotso mips runtime cleanups
Message-ID: <
20050422224553.GJ10767@hattusa.textio>
... an untested mips spinlock implementation
Message-ID: <
20050422224830.GK10767@hattusa.textio>
... mips-assem.S fixes
Message-ID: <
20050422232020.GL10767@hattusa.textio>
... more runtime fixes
Message-ID: <
20050422233014.GM10767@hattusa.textio>
... load delay fixes for ldso-stubs
Message-ID: <
20050422233501.GO10767@hattusa.textio>
Christophe Rhodes [Fri, 29 Apr 2005 14:37:35 +0000 (14:37 +0000)]
0.9.0.6:
MORE CASE CONSISTENCY
Make the system (with the x86-64 backend) buildable under
(readtable-case *readtable*) => :invert.
This may seem like a bit of an eccentric thing to do. The plan,
however, is to in future define this as the build mode for SBCL,
enforcing it in the build scripts, so that userinits are
prevented from interfering in this respect, and also so that
case-consistency throughout the system is enforced (to reduce
potential reader confusion further down the line). However,
since there are 100000 MIPS-related patches waiting to be
merged, it would be a bad time to enforce this (and break
all non-x86-64 backends).
Christophe Rhodes [Fri, 29 Apr 2005 12:10:04 +0000 (12:10 +0000)]
0.9.0.5:
Fix 32->64 build
Christophe Rhodes [Fri, 29 Apr 2005 10:47:42 +0000 (10:47 +0000)]
note the reader threadsafe bugs being discussed on cll at the moment
Juho Snellman [Thu, 28 Apr 2005 22:20:40 +0000 (22:20 +0000)]
0.9.0.3:
Fix a few leakages from the host environment that only mattered
when the host compiler had a larger fixnum size than the target.
Building a 32-bit SBCL with a 64-bit SBCL as host should now work.
* COMPACT-INFO-LOOKUP FIXME fixed by LOGANDing the return-value
of GLOBALDB-SXHASHOID with SB!XC:MOST-POSITIVE-FIXNUM
* Some !constants (LAYOUT-CLOS-HASH-MAX, CALL-ARGUMENTS-LIMIT,
etc) were derived from MOST-POSITIVE-FIXNUM. Use
SB!XC:MOST-POSITIVE-FIXNUM instead.
Christophe Rhodes [Thu, 28 Apr 2005 19:46:04 +0000 (19:46 +0000)]
0.9.0.2:
Note another threading special bug
William Harold Newman [Mon, 25 Apr 2005 14:47:13 +0000 (14:47 +0000)]
0.9.0.1:
logged a bug
minor comment tweaks
William Harold Newman [Sun, 24 Apr 2005 20:28:56 +0000 (20:28 +0000)]
0.9.0:
release, tagged as sbcl_0_9_0
Alexey Dejneka [Tue, 19 Apr 2005 05:54:17 +0000 (05:54 +0000)]
0.8.21.50:
* Changed implementation on ALLOCATE-VECTOR on X86:
... two VOPs: A-V-ON-HEAP and A-V-ON-STACK;
... choice between them is made with LTN-ANALYZEr;
... A-V-ON-STACK always fills vector with zeroes (fixes bug
reported by Brian Downing).
Brian Mastenbrook [Sun, 17 Apr 2005 19:41:25 +0000 (19:41 +0000)]
0.8.21.49: Fixes for OS X 10.4 "Tiger"
* Binaries built on OS X 10.4 will not run on OS X 10.2.8 "Jaguar"
* Add a . at the end of a gethostbyname test in sb-bsd-sockets to both work around a resolver bug on Tiger and robustify the test
* Thanks to Gary Byers for the alternate sigreturn bug fix
* Bump the upcoming version number in NEWS to 0.9.0 (woohoo!)
Alexey Dejneka [Sun, 17 Apr 2005 09:08:34 +0000 (09:08 +0000)]
0.8.21.48:
* As suggested by CSR, when (> SAFETY 0) allocate vector on
stack only when it provably fits in one page.
* Properly order *POLICY-DEPENDENT-QUALITIES*: later qualities
may refer earlier.
Christophe Rhodes [Sat, 16 Apr 2005 10:02:38 +0000 (10:02 +0000)]
0.8.21.47:
Merge patch (from Wendall Marvel) for unchecked method group
when there is a single group with pattern *
Alexey Dejneka [Sat, 16 Apr 2005 06:18:30 +0000 (06:18 +0000)]
0.8.21.46:
* On X86 simple forms of MAKE-ARRAY can allocate result on
stack.
... ALLOCATE-VECTOR is now a VOP on X86.
Christophe Rhodes [Fri, 15 Apr 2005 21:36:06 +0000 (21:36 +0000)]
0.8.21.45:
Merge patch (Zach Beane sbcl-devel 2005-04-13) for redefining
classes whose previous definition had an accessor which collided
with a function.
Christophe Rhodes [Fri, 15 Apr 2005 21:28:50 +0000 (21:28 +0000)]
0.8.21.44:
Fix bug reported by Cyrus Harmon sbcl-devel 2005-04-14
... remove AVER CLASS and AVER BUILT-IN-TYPE, because those
can be tickled by wrong but well-intentioned user code.
Nikodemus Siivola [Fri, 15 Apr 2005 16:08:52 +0000 (16:08 +0000)]
0.8.21.43: "oops" -- that wasn't an optimization!
* don't transform EQL to EQ if either argument is known to
be a fixnum, as we have backend magic to deal with that. The
effect of the previous "improvement" was rather horrible
for bignums. Still apply the transform if the fixnumness is
in question.
Juho Snellman [Fri, 15 Apr 2005 13:57:49 +0000 (13:57 +0000)]
0.8.21.42:
Fix bug in scoping of free special declarations. CLHS 3.3.4:
"The scope of free declarations specifically does not include
initialization forms for bindings established by the form
containing the declarations."
* Add a :BINDING-FORM-P parameter to PROCESS-DECLS. If true,
return a list of the VARs created by PROCESS-SPECIAL-DECL
for free bindings instead of adding them into the lexenv
immediately.
* PROCESSING-DECLS optionally uses :BINDING-FORM-P and
binds the list to a supplied variable in the PROCESSING-DECLS
body.
* Calls to PROCESS-DECLS / PROCESSING-DECLS related to binding
forms use the above changes.
* The VAR list is threaded through a bunch of IR1 lambda
translation utility functions, all of which sooner or later
end up calling IR1-CONVERT-AUX-BINDINGS.
* Before IR1-CONVERT-AUX-BINDINGS converts the body, add the
variables in the list to the lexenv.
Daniel Barlow [Thu, 14 Apr 2005 22:34:33 +0000 (22:34 +0000)]
0.8.21.41
Various cleanup to remove (a) code used only in the pre-futex
queue system, (b) some threading code copied blindly from
the x86 backend to x86-64 but is unlikely ever to actually
work there
Daniel Barlow [Thu, 14 Apr 2005 21:12:01 +0000 (21:12 +0000)]
0.8.21.40
Add TRACE-FILE to the allowed options in build-order.lisp-expr.
This causes a foo.trace file to be emitted containing grungey
VOP/template/assembly/etc information which may help when
debugging a backend
Nikodemus Siivola [Thu, 14 Apr 2005 14:05:20 +0000 (14:05 +0000)]
0.8.21.39: implement optimization #25
* transform EQL to EQ when at least other argument is known to be
(OR FIXNUM (NOT NUMBER)).
Nikodemus Siivola [Thu, 14 Apr 2005 10:24:10 +0000 (10:24 +0000)]
0.8.21.38: fix bug 211e
* mark duplicate keyword arguments as ignored in CONVERT-MORE-CALL.
Nikodemus Siivola [Wed, 13 Apr 2005 21:08:25 +0000 (21:08 +0000)]
0.8.21.37: fix bug 305
* annotate the inline/notinline fun with type-restrictions from the
environment.
Nikodemus Siivola [Wed, 13 Apr 2005 13:48:43 +0000 (13:48 +0000)]
0.8.21.36: TRACE :ENCAPSULATE NIL broken on ppc/darwin
* record bug.
* add test-case for other platform.
* test normal trace for good measure.
Brian Downing [Tue, 12 Apr 2005 20:14:48 +0000 (20:14 +0000)]
0.8.21.35:
PPC allocate-vector fix, plus OpenMCL buildability ...
... write a 0 at the end of the allocated vector to ensure
all of its pages are unprotected. Otherwise if one is
passed off to C (by READ-N-BYTES for example) the GC
trigger can be hit in foreign code. (Compare to SPARC)
... revert "#+cmu #+cmu a b" back to "#+cmu a #+cmu b",
as OpenMCL and ACL's readers have buggy implementations
of CLHS 2.4.8.17.
Christophe Rhodes [Mon, 11 Apr 2005 08:59:22 +0000 (08:59 +0000)]
0.8.21.34:
How to lose friends and alienate people...
... actually make constant-folding failure a full warning in the
cross-compiler (but not the target).
... fix the problem this reveals on x86-64.
Meanwhile, "uname -p"? Change to -m.
Nikodemus Siivola [Sun, 10 Apr 2005 16:51:48 +0000 (16:51 +0000)]
0.8.21.33: make doctrings.lisp understand embedded examples better
... sufficiently well to make less of a hogwash of the FINALIZE
documentation at any rate.
Brian Mastenbrook [Sun, 10 Apr 2005 15:34:46 +0000 (15:34 +0000)]
0.8.21.32: improvement for the space reservation mechanism on OS X
* The C runtime is no longer relinked after running nm, which should avoid
some cases where symbols moved when linking in the read-only space reservation
object. This was previously observed as segfaults in target-2 and could be worked
around by choosing a different C compiler.
* Space is now reserved for each of our fixed-address spaces on OS X, currently:
* read-only space
* static space
* dynamic-1 and dynamic-2 spaces
* linkage table space
Should Apple ever decide to move the malloc heap again, none of these spaces will be picked
because their virtual memory ranges will have been reserved by the linker.
Nikodemus Siivola [Sun, 10 Apr 2005 12:55:54 +0000 (12:55 +0000)]
0.8.21.31: tweak finalizers, thighten spec further
* sprinkle WITHOUT-GCING around, so that we won't enter GC while
holding the lock on finalizer store.
* specify that finalizers run in an unpredictable dynamic scope and
must be fully re-entrant. Add a few examples for good measure.
* add finalizer, weak pointer, and after gc hook documentation to the
manual.
Alexey Dejneka [Sun, 10 Apr 2005 04:54:22 +0000 (04:54 +0000)]
0.8.21.30:
* Fix misc.548: weakening of (VALUES (MEMBER A B C) &OPTIONAL)
produces (VALUES &OPTIONAL SYMBOL) with different number of
required/optional parameters.
* Fix DATA-VECTOR-SET-C/SIMPLE-BIT-VECTOR on Alpha-32: srl-sll
does not clean up upper bit (found by regression tests).
Juho Snellman [Sat, 9 Apr 2005 21:28:39 +0000 (21:28 +0000)]
0.8.21.29:
TRACE :ENCAPSULATE NIL was broken by a recent function signature
change in the debugger internals. Fix this, and add support for
:ENCAPSULATE NIL on x86-64.
* Pass stream to PRINT-FRAME-CALL from ntrace.lisp.
* Port over some of Daniel Barlow's fixes to x86-64-assem.S from
amd64-pthreads-branch, fix fun_end_breakpoint_guts.
* Fixed some magic constants in the x86-64 runtime
* Various 64-bit cleanups, #ifdef cleanups in the runtime
Alexey Dejneka [Sat, 9 Apr 2005 06:37:02 +0000 (06:37 +0000)]
0.8.21.28:
* Constant folding of undefined function now causes full
warning in the cross-compiler as suggested by CSR.
* Define cross-compiler versions of all modular functions.
* Fix a constant reference in a type specifier.
Nikodemus Siivola [Fri, 8 Apr 2005 20:29:38 +0000 (20:29 +0000)]
0.8.21.27: trivial micro-optimization of SXHASH: remove &OPTIONAL from
(LABELS SXHASH-RECURSE).
Nikodemus Siivola [Fri, 8 Apr 2005 14:22:54 +0000 (14:22 +0000)]
0.8.21.26: provide %SQRT &co as functions on x86 for constant folding
Christophe Rhodes [Fri, 8 Apr 2005 14:19:06 +0000 (14:19 +0000)]
0.8.21.25:
Fix for "Apparent memory leak in (eval '(lambda () ...))" (Kevin
Reid sbcl-devel 2004-02-26
... don't name the EVAL-TMP function.
Nikodemus Siivola [Fri, 8 Apr 2005 12:44:25 +0000 (12:44 +0000)]
0.8.21.24: minor compiler output cleanup
* when summarizing a compilation unit print the final newline
outside the logical block.
Nikodemus Siivola [Fri, 8 Apr 2005 12:30:13 +0000 (12:30 +0000)]
0.8.21.23: rewritten SUB-GC & finalization
* last vestiges of before GC hooks have been removed.
* after GC hooks are now left for user-code.
* call UNSAFE-CLEAR-ROOTS before GC proper as the moral replacement
of old before GC hooks for internal use only: on unithread SBCL
scrub the stack and clear ctype-of cache, on threaded just scrub the
stack.
* finalizers and after GC hooks moved outside the GC proper, with
interrupts enabled and all threads[1] running; it is now safe to
allocate in them as re-entry to GC is possible.
* put a lock on the global finalizers list, as per Gabor Mellis'
patch. Gratuitiously change the name of the selfsame global variable
to flush out anyone diddling with it.
* tighten the finalizer spec with a note that they may run in any
thread.
* add a stress-test for finalizers.
[1. Not actually tested on threaded SBCL.]
Christophe Rhodes [Thu, 7 Apr 2005 12:32:54 +0000 (12:32 +0000)]
0.8.21.22:
Maybe make two-dimensional array type testing faster.
Nikodemus Siivola [Thu, 7 Apr 2005 08:00:03 +0000 (08:00 +0000)]
0.8.21.21: fix & share EXTERN-ALIEN-NAME logic (fixes bug #373)
* move e-a-n from SB-VM to SB-SYS, and from target/vm.lisp
to foreign.lisp.
* move all e-a-n calls to FIND-FOREIGN-SYMBOL-IN-TABLE and
GET-DYNAMIC-FOREIGN-SYMBOL-ADDRESS.
* reader conditionalize e-a-n behaviour on :ELF and :MACH-O; explicitly
add the relevant feature for each OS in make-config.sh.
* delete unused file ppc/print.lisp (duplicates ppc/show.lisp).
* increment fasl-format number.
note: affects all backends; tested on ppc/darwin, x86/freebsd, and
sparc/sunos.
Daniel Barlow [Wed, 6 Apr 2005 17:16:57 +0000 (17:16 +0000)]
0.8.21.20
Patch SLEEP to use nanosleep() and to restart the sleep if
interrupted e.g. by a signal, instead of returning early. Thanks
to Gabor Melis (ref sbcl-help, "Oddity with make-thread and sleep")
Juho Snellman [Wed, 6 Apr 2005 01:47:35 +0000 (01:47 +0000)]
0.8.21.19:
* Merge more x86-64 disassembler improvements from Lutz Euler.
(sbcl-devel "Re: Improving the x86-64 disassembler" on
2005-04-05).
* Bump compact-info-env-entries-bits to allow purify on images with
large amounts of functions (sbcl-devel "purify failure when
compact-info-env-entries-bits is too small" on 2005-03-26
by Cyrus Harmon).
Christophe Rhodes [Tue, 5 Apr 2005 16:38:14 +0000 (16:38 +0000)]
0.8.21.18:
Patch from Thiemo Seufer / Peter van Eynde for MIPS assembly code
... maybe fixes stability problems.
Christophe Rhodes [Tue, 5 Apr 2005 11:03:19 +0000 (11:03 +0000)]
0.8.21.17:
Fix fixnum / sb!xc:fixnum xc bug (as in discussion with Bruno Haible
sbcl-devel 2005-03/2005-04)
... don't use the CL:FIXNUM type in immediate-constant-sc;
... write and use a test in before-xc.
Christophe Rhodes [Mon, 4 Apr 2005 09:49:43 +0000 (09:49 +0000)]
0.8.21.16:
Merge Teemu Kalvas' latest patch;
... add a terribly minimal test file for external-format issues
Nikodemus Siivola [Sun, 3 Apr 2005 10:55:58 +0000 (10:55 +0000)]
0.8.21.15: minor rollback
* don't put WITH-COMPILATION-UNIT in EVAL after all.
Christophe Rhodes [Sat, 2 Apr 2005 10:30:50 +0000 (10:30 +0000)]
0.8.21.14:
By popular request (hi Zach), make the banner inert.
Alexey Dejneka [Sat, 2 Apr 2005 06:32:29 +0000 (06:32 +0000)]
0.8.21.13:
* The 1st of April is over, so it's time to be able to build
SBCL again: remove call of EVAL in MAKE-SAETP.
* Define cross-versions of some modular funs.
Nikodemus Siivola [Fri, 1 Apr 2005 16:48:03 +0000 (16:48 +0000)]
0.8.21.12: compiler message fixes
* print "caught FOO" messages and error summaries to *ERROR-OUTPUT*,
not to *STANDARD-OUTPUT*.
* wrap EVAL guts in WITH-COMPILATION-UNIT so that multiple subforms
requiring compilation have their output condenced.
* clean up compilation summary newline handling.