Warning
This version is intended for compiler hackers. We are in the midst of substantial structural changes, and this is a snapshot. It only supports the Sparc, Alpha, HPPA, and PowerPC architectures. Furthermore, there are performance bugs that have to be fixed.
Summary
This version contains a new and simplified interface between the code generator and runtime system.
GC API
The basic idea is that all communication to the runtime system is through a fixed set of registers. Anything extra must be bundled up and saved in one of these fixed registers. This simplifies the runtime system significantly, and reduces the overhead of getting into (and out of) C. The net result is a 4% improvement in compiling the compiler on the DEC Alpha.See the paper GC-API under Compiler notes.
MLRISC
There is a new mechanism for setting flags and gathering statistics. Various flags and counters can be set at the interactive level, e.g. the following can be used to dump the flowgraph before register allocation:structure CG = Compiler.Control.MLRISC CG.getFlag "dump-cfg-before-ra" := true;The currently implemented set of flags and counters are described in:src/MLRISC/FLAGS
Lal George Last modified: Thu May 20 15:30:31 EDT 1999