[Openmcl-devel] New OpenMCL snapshots

Gary Byers gb at clozure.com
Fri Nov 10 04:41:21 PST 2006

There are now new 061110 snapshot archives of the the current OpenMCL
1.1 prerelease available in <ftp://clozure.com/pub/testing>.  Archives
are available for:

DarwinPPC (32/64-bit): 

LinuxPPC (32/64-bit):

FreeBSD-amd64 (64-bit only):

Linux-x8664 (64-bit only):

Darwin-x8664 (64-bit only):

All archives contain sources, binaries, interfaces, and release notes;
the release notes entry for this release contains:

- The FASL version changed (old FASL files won't work with this
   lisp version), as did the version information which tries to
   keep the kernel in sync with heap images.
- Several bug fixes (see ChangeLog), and modest-to-moderate
   performance improvements.  Notably, AREF and (SETF AREF)
   of 2- and 3-dimensional arrays are open-coded in more cases
   and are usually at least 5x faster than in previous versions.
   If the compiler knows that the array in question is a
   SIMPLE-ARRAY of appropiate dimensionality and knows the
   array's element-type, the speedup can be much greater.
   There are certainly opportunities for further improvements
   here, both in breadth (handling more cases) and depth
   (eliminating some type-and-bounds checking in safe code,
   doing parts of index calculations at compile-time when
   bounds and indices are constants ...), but things are
   generally improved.
- QUIT and SAVE-APPLICATION work a little differently; in
   particular, SAVE-APPLICATION sometimes runs after #_exit
   is called (via the #_atexit mechanism).
   The motivation for this change has to do with how some
   environments (Cocoa, to name one) conflate the ideas of
   "shutting down the GUI" with "exiting the application".
   Previous versions of OpenMCL tried to work around this
   by overriding some internal Cocoa methods; that approach
   was never particularly attractive and (predictably) it'll
   break in future OSX releases.
   The new scheme (which involves letting code run after #_exit
   has been called) certainly offers other ways to lose; so
   far, I haven't seen evidence of such lossage.
- For historical reasons (forgotten historical reasons, in fact)
   the PPC versions of OpenMCL run with floating-point underflow
   exceptions disabled (the x86-64 versions enable these exceptions
   by default.)  This should change soon (as soon as I remember
   to change it ...); it's unlikely that this will affect much
   user code, but it's possible that it'll do so.

More information about the Openmcl-devel mailing list