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