performance of the compiler by about 20%.
* optimization: performance of FILL (and :INITIAL-ELEMENT) on
simple-base-strings and simple-bit-vectors is improved.
+ * optimization: the optimization of 32-bit logical and arithmetic
+ functions introduced in version 0.8.3 on the x86 has been
+ implemented on the mips, ppc and sparc platforms; an
+ implementation of the same facility, but for 64-bit arithmetic,
+ has been added for the alpha.
* microoptimization: the compiler is better able to make use of the
x86 LEA instruction for multiplication by constants.
* bug fix: in some situations compiler did not report usage of
MEMBER-types to numeric.
* bug fix: COMPILE-FILE must bind *READTABLE*. (reported by Doug
McNaught)
+ * bug fix: (SETF AREF) on byte-sized-element arrays with constant index
+ argument now works properly on the Alpha platform.
+ * bug fix: floating point exception treatment on the Alpha platform
+ is improved.
+ * bug fix: FILE-POSITION works much better on string input and output
+ streams. (thanks to Nikodemus Siivola)
+ * bug fix: many threading/garbage collection symptoms sorted.
+ SB-THREAD:INTERRUPT-THREAD now safe to call on a thread that might
+ be pseudo-atomic
+ * internal change: Stopping for GC is now done with signals not ptrace.
+ GC is now done in whichever thread wanted it, instead of in the parent.
+ This permits a
+ * bug fix: GC hooks (missing since 0.8) reinstated, so finalizers
+ work again.
+ * bug fix: result form in DO is not contained in the implicit
+ TAGBODY.
+ * incompatible change: ICR structure is changed; the value part of
+ CONTINUATION is now called LVAR; corresponding functions are
+ renamed (e.g. SB-C::CONTINUATION-TYPE has become SB-C::LVAR-TYPE).
* fixed some bugs revealed by Paul Dietz' test suite:
** the RETURN clause in LOOP is now equivalent to DO (RETURN ...).
** ROUND and FROUND now give the right answer when given very
an error during type derivation.
** bignum multiplication on the Alpha platform now returns the
right answer.
+ * builds on SuSE AMD64, although still generates a 32-bit binary.
planned incompatible changes in 0.8.x:
* (not done yet, but planned:) When the profiling interface settles