GNU Common Lisp - News: GCL 2.6.13 is released
Greetings! The GCL team is happy to announce the release of version 2.6.13, the latest achievement in the 'stable' (as opposed to 'development') series. Please see http://www.gnu.org/software/gcl for downloading information.
This release consolidates several years of work on GCL internals, performance and ansi compliance.
Garbage collection has been overhauled and significantly accelerated. Contiguous block handling is now as fast as or perhaps faster than relblock handling, leading to the now implemented promotion of relblock data to contiguous after a surviving a number of gc calls. Relblock is only written once during gc. Heap allocation is fully dynamic at runtime and controllable with environment variables without recompilation. While SGC is supported, it is found in practice to be less useful with modern large memory cores and is off by default.
GCC on several platforms defaults to code which must lie within a common 2Gb space, now an issue with heaps routinely larger than this. Error protection for code address overflow is in place on most machines. The variable si::*code-block-reserve* can be set to a static array of element type 'character to preallocate a code block early within an acceptable range. On amd64, compile-file takes a :large-memory-model-p keyword (with compiler::*default-large-memory-model-p*) to compile somewhat slower code which can be loaded at an arbitrary address.
The COMMON-LISP package is fixed to the ansi standard. A CLTL1-COMPAT package is defined to support earlier applications, and is used in non-ansi builds.