                         S  M  L   /   N  J

                   1  1  0  .  5  3      N  E  W  S
			
                          February 25, 2005

                                WARNING

        This working version is believed to be stable, but
        we have not run our full regression-test suite.

             HOME:  http://www.smlnj.org/index.html
             FILES: http://smlnj.cs.uchicago.edu/dist/working/110.53/


Summary:

   Bugfixes and minor feature improvements.

--------------------------------------------------------------------------

Details:

Basis
-----

  - SMLofNJ.Susp is back.

CML
---

  - Thread-safe version of structure Atom matches original signature
    and re-uses the original implementation.  Moreover, since an mvar
    is used as a lock (instead of a separate server thread) to protect
    the global hashtable, it is now possible to create atoms even before
    RunCML.doit has started executing.

Library
-------

  - Moved source tree from smlnj-lib/TraceDebugProf to a new
    tools/TraceDebugProf.

NLFFI
-----

  - Handles access to signed and unsigned "long long" data.
  - Handles "long long" function arguments and results (but so far
    only on the PowerPC).
  - Some organizational cleanup of the library code.

ML-Yacc
-------

  - Fixed formatting bug that sometimes caused syntactically incorrect
    code from being formed.

Runtime
-------

  - Fixed bug in PC-sampling profiler.
  - Fixed off-by-1 bug in ML_STRING macro (which caused the names
    of certain exceptions to be garbled).

Scripts
-------

  - Added an experimental heap2exec script (with a helper heap2asm
    script in the background).  This is experimental and so far
    only works under Mac OS X.
  - Made ml-build script slightly smarter.  (One can now omit the
    3rd argument -- which in this case is taken to be the same as the
    1st argument without the extension.)
  - _run-sml now converts SMLNJ_HOME to a POSIX pathname on cygwin.

CM
--

  - Fixed its incorrect assumption about the PowerPC being little-endian.
    (PPC couldn be little-endian, but on the only supported platform --
     Mac OS X -- it is big-endian.)

MLRISC
------

  - Bugfixes in c-calls implementation.
