CMUCL 21d

The CMUCL project is pleased to announce the release of CMUCL 21c.
This is a major release which contains numerous enhancements and bug
fixes from the 21a release.

CMUCL is a free, high performance implementation of the Common Lisp
programming language which runs on most major Unix platforms. It
mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
sophisticated native code compiler; a powerful foreign function
interface; an implementation of CLOS, the Common Lisp Object System,
which includes multi-methods and a meta-object protocol; a
source-level debugger and code profiler; and an Emacs-like editor
implemented in Common Lisp. CMUCL is maintained by a team of
volunteers collaborating over the Internet, and is mostly in the
public domain.

New in this release:

Known issues:

Feature enhancements

Update to ASDF 3.3.2

Changes

x86 and sparc have replaced the MT19937 RNG with xoroshiro128+ RNG.

The required state for this generator is just 4 32-bit words instead of the 600+ for MT19937.

The generator is also faster than MT19937 (approximately 28% faster on x86 and 18% on sparc).

The new function KERNEL:RANDOM-STATE-JUMP modifies the given state to jump 2^64 samples ahead, allowing 2^64 non-overlapping sequences.

Updated CLX to telent clx version 06e39a0d.

New functions SET-GC-ASSERTIONS and GET-GC-ASSERTIONS. See the docstrings for more information and also #69.

MACHINE-TYPE and MACHINE-VERSION return more information about thep rocessor cmucl is running on, using information from the cpuid instruction.

CMUCL 21c

The CMUCL project is pleased to announce the release of CMUCL 21c.
This is a major release which contains numerous enhancements and bug
fixes from the 21a release.

CMUCL is a free, high performance implementation of the Common Lisp
programming language which runs on most major Unix platforms. It
mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
sophisticated native code compiler; a powerful foreign function
interface; an implementation of CLOS, the Common Lisp Object System,
which includes multi-methods and a meta-object protocol; a
source-level debugger and code profiler; and an Emacs-like editor
implemented in Common Lisp. CMUCL is maintained by a team of
volunteers collaborating over the Internet, and is mostly in the
public domain.

New in this release:

Known issues:

Feature enhancements

Changes

ASDF 3.3.0

ANSI compliance fixes:

Bug fixes:

ENCODE-UNIVERSAL-TIME accepts dates from 1899 if the final date
after accounting for time zones results in a positive
value. (See ticket #36.)

sparc64-dev-checkpoint-6
Much more works now. xep-allocate-frame appears to be working and
we actually reach GLOBALDB-INIT.
Haven't verified all the vops yet, but things look promising. In addition,
we can successfully compile files with :trace-file t which makes it much
easier to examine what code is being generated for each function.

sparc64-dev-checkpoint-5
Static symbol objects appear to be correct. The addresses
seem right, and the contents of the object appear to contain
the correct items, as determined by usring C print() to
print the objects.

sparc64-dev-checkpoint-4
Support for 64-bit cores.
Cross compile works and sparc can at least load the core file
and get to call_into_lisp to try running the initial function.
Currently fails because we don't have the v9 stack bias
implemented.

sparc64-dev-checkpoint-1
Cross-compile from x86 to sparc64 works
Of course, this is still just a plain sparc 32 build, but
this means things are in good shape for real sparc64 work.
What happened: On darwin:
bin/create-target.sh sparc64-xtarget sparc64_sunc
bin/create-target.sh sparc64-xcross sparc64_sunc
bin/cross-build-world.sh -c sparc64-xtarget/ sparc64-xcross/ src/tools/cross-scripts>/cross-x86-sparc64.lisp cmulisp
Then
tar cjf sparc64.tar.bz2 sparc64-xtarget
ssh sparc64.tar.bz2 <smalltalk>
On smalltalk:
tar xjf sparc64.tar.bz2
bin/rebuild-lisp.sh sparc64-xtarget
bin/load-world -p sparc64-xtarget
bin/build.sh -b sparc64 -C sparc64_sunc -o sparc64-xtarget/lisp/lisp
When this is finished, install it somewhere and do bin/run-tests.sh
using the new binary. All tests passed.

sparc64-dev-checkpoint-0
bin/build.sh -b sparc64 -C sparc64_sunc -o cmulisp
builds a working lisp using only the files from the
sparc64 directories. (Verified by moving the sparc files
out of the way.)
The resulting lisp runs the full testsuite without errors.
Snapshot 2016-12 was to do the build on smalltalk.cs