sbcl-1.1.15 released
Christophe Rhodes <[email protected]> Wed, 29 Jan 2014 12:18:58 +0000
| Newsgroups | gmane.lisp.steel-bank.announce |
|---|---|
| Message-ID | <[email protected]> |
Dear all,
Happy New Year! I have just uploaded the sbcl-1.1.15 release to
sourceforge; the release notes are appended to the end of this message.
The major new feature in this release is the merge of Alexandra
Barchunova's implementation of an iterative colouring/spilling register
allocator. Unfortunately, this implementation has uncovered some latent
bugs in the compiler backends; I believe that they have been found and
fixed on x86(-64) and ppc platforms, but many still remain on the other
backends (sparc, mips, alpha) and so on those platforms this release
will not build. I hope that this situation will not persist for too
long, and that a release in the near future will restore support for
those platforms.
Those checking the gpg signature on the release will find signatures
made by a new key. This is expected; please see
<http://christophe.rhodes.io/notes/blog/posts/2013/new_year_new_gpg_key/>,
along with the associated transition document.
Best wishes,
Christophe
changes in sbcl-1.1.15 relative to sbcl-1.1.14:
* new feature: the iterative spilling/coloring register allocator developed
by Alexandra Barchunova during Google Summer of Code 2013 is now merged
in. By default, it only activates for functions that optimize with
(speed 3) and (> speed compilation-speed), but setting
sb-regalloc:*register-allocation-method* to :iterative forces its
execution. The previous behaviour can be obtained by instead setting that
variable to :greedy. Thanks again to Google for their support, and, more
crucially, to Alexandra Barchunova for her hard work.
* optimization: make-array with known element-type and unknown dimensions is
much faster.
* optimization: make-array with unknown element-type is faster as well.
(lp#1004501)
* enhancement: sb-ext:save-lisp-and-die on Windows now accepts
:application-type argument, which can be :console or :gui. :gui allows
having GUI applications without an automatically appearing console window.
* enhancement: reduced conservativism on GENCGC platforms:
conservative roots must be valid-looking tagged pointers or point
within a code object, not merely point to within the allocated part
of a page, in order to pin a page.
* enhancement: support for "Mac Roman" external format.
* enhancement: encapsulation of named generic functions now happens without
altering the identity of the function bound to the name.
* bug fix: Windows applications without the console window no longer misbehave.
(patch by Wilfredo Velazquez, lp#1256034).
* bug fix: modular arithmetic optimizations do not stumble on dead branches
with bad constants. (reported by Douglas Katzman)
* bug fix: CLISP can be used again as a cross-compilation host.
(Thanks to Vasily Postnicov, lp#1261451)
* bug fix: run-program crashed with :directory nil. (lp#1265077)
------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable
security intelligence. It gives you real-time visual feedback on key
security issues and trends. Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk