[A scenic desert tree] [Mojave]


Home
People
Research
Projects
Publications
Download
Laboratory
Support
CVSweb
Mailing Lists
Links
Funded by...

 

MCC Release Notes                                          Justin David Smith
-----------------------------------------------------------------------------


   This document contains the current release notes.  For an introduction to
   the compiler, please see doc/compiler-intro.txt.


RELEASE NOTES FOR 0.5.3

   This release fixes several bugs from the previous release, and includes
   several significant feature improvements.

   Changes from 0.5.0:
      *  Python support has been added to the compiler.
      *  Function pointers are now safe; when a function pointer is called,
         the runtime now checks that the argument types match the function
         prototype.  The cost of this operation is one comparison, by using 
         arity tags on functions.
      *  Support for atomic levels has been added in the transaction code.
         This allows you to rollback multiple levels at once, or commit a
         level other than the most recent level.  For details, see comments
         in fir/type/fir.ml, on type tailop.
      *  Added atom class checking to the backend.
      *  Argument processing is more advanced.  You can truncate any command
         line argument, so long as there is no ambiguity.  Also, gcc-style
         -D, -I, etc. arguments are supported; you can say -Dvar=val now,
         instead of the old -D var=val (both forms are accepted by compiler).
      *  Revisions to build system to make it faster and more intelligent.
      *  Support for dynamic front-ends has been added. You can now develop
         new front-ends with Phobos and add them to the compiler dynamically.


RELEASE NOTES FOR 0.5.0

   This is the first public release of MCC.  The compiler's been in
   development for over a year, although most of the code in this release
   is no older than 9 months due to a major rewrite during summer 2001.
   Since this is the first release, it is likely there are some kinks
   that will need to be worked out; please contact us if you run into
   problems at mcc@metaprl.org.

   In this release:
      *  Most FC and NAML programs are working, including all programs that
         are in the regression suite.
      *  A few FC and NAML programs do not work; there are raw segfaults in
         certain test cases which were introduced by recent backend changes.
      *  Significant optimizations, including alias analysis and hoisting,
         are working.
      *  Linking to libc works, however some restrictions apply (and safety
         guarantees obviously do not apply to external calls to libc).  Note
         that varargs work as well, so you can call printf() and friends.
      *  Migration works, including checkpoint/resurrection.
      *  Atomic transactions work, including nested transactions.
      *  Compile times are fairly long, due to slow liveness analysis/RA.
      *  FJava programs generally do not work.
      *  Many Pascal/Pasqual programs do not work.
      *  Phobos is unstable.


Webmaster | Contact Us | Generated on Thursday, Aug 24, 2006

Copyright (c) 2002-2004 Caltech Mojave Research Group.
Computer Science Dept., California Institute of Technology