new rpms

Stephen Weeks MLton@sourcelight.com
Wed, 4 Oct 2000 11:23:03 -0700 (PDT)


are available at 

http://www.star-lab.com/sweeks/mlton-20001004-1.i386.rpm
http://www.star-lab.com/sweeks/mlton-20001004-1.src.rpm

These include the new TextIO libraries, and the LimitCheck bug fix.  Here are
the changes since 20000906.

* 2000-10-4
  - Changed LimitCheck so it loops on the frontier > limit check.  This fixed
    a potential bug in threads caused when there is enough space available for
    a thread, t, before switching to another thread but not enough space when t
    resumes.  This could have caused a segfault.

* 2000-10-3
  - More rewrites of TextIO.StreamIO to improve speed.
  - Changed TextIO so that only TextIO.stdErr is unbuffered.
  - Changed TextIO so that FIFOs and sockets are not buffered.

* 2000-10-2
  - Combined remove-unused-constructors, remove-unused-functions, and
    remove-unused-globals into a single pass that runs to fixed-point and
    produces results at least as good as running the previous three in (any)
    sequence. 

* 2000-9-29
  - Added GC_FIRST_CHECK, which does a gc at each limit check the first time it
    reached.
  - Reimplemented TextIO.StreamIO (from 2000-9-12) to use lists of strings
    instead of lists of characters so that the per char space overhead is small.

* 2000-9-21
  - Fixed bug in profiling labels in C code.  The label was always the basic 
    block label instead of the cps function label.
  - Added -b switch to mlprof to gather data at the basic block level.
  - Improved performance of TextIO.input1 by about 3X.

* 2000-9-15 - 2000-9-19
  - Added overflow exceptions to CPS and Machine ILs.

* 2000-9-12
  - Fixed TextIO.scanStream.  It was very broken.
  - Added TextIO.{getInstream,mkInstream,setInstream}
          TextIO.StreamIO.{canInput,closeIn,endOfStream,input1,input,inputAll,inputLine,inputN}

* 2000-9-11
  - Fixed Real_qequal in mlton-lib.h.  It was missing a paren that caused
    code using it to not even compile.  It was also semantically incorrect.
  - Noted that Real_{equal,lt,le,gt,ge} may not follow basis library spec, since 
    ANSI does not require IEEE compliance, and hence these could return wrong
    results when nans are involved.