S  M  L   /   N  J                      1  1  0  . 38     
  N  E  W  S
   
   
     
January 28, 2002
   
   
     
   
     
   
Summary:
     
   - Major internal improvements to MLRISC.
- A re-worked FFI.
- Bug fixes.
 
   
   
Details:
  
    - A complete overhaul of the library interfaces and the glue-code generator
(ml-nlffigen).  The implementation now scales much better, making it
possible to target huge C libraries such as gtk+ etc. (See the README file
under src/ml-nlffigen.)
- ML represenation types have been streamlined.
- Getter and setter functions work with concrete values, not abstract
 ones where possible.
- WORD-style bit-operations on INTEGER representations added.
- Ml-nlffigen command line more flexible (see README file).
- C_Debug added as an alternative to structure C.  The difference
is that it always checks for NULL on pointer-dereference operations.
- DynLinkage.open_lib' added.  This function takes an additional
list of library handles.  This is used for expressing inter-library
(symbol-resolution-)dependencies.
- bug fixes
  
    - 
      MLRISC:
      - There is a dramatic simplification in the interface to the register
allocator for RISC architectures as a result of making parallel copy instructions
explicit. 
- Bugs in x86-fast-fp have been fixed.  It is now turned on
by default in SML/NJ.
- Changed the representation of instructions from being fully abstract
 to being partially concrete.  See HISTORY file for more details.
- Removed the native COPY and FCOPY instructions from all the architectures
and replaced it with the explicit COPY instruction from the previous commit.
- Since COPY instructions are no longer native to the architecture,
a generic functor can be used to implement the expandCopies function.
- Allowed EXPORT and IMPORT pseudo-op declarations to appear inside
a TEXT segment.
- bug fixes
 
    - 
      misc:
      - Allen Leung's "nowhere" tool added.
- Minor modifications to pgraph.
- rounding mode-related bug fixed in Basis library