The FCGcode generator produces portable code that supports efficient two-space copying garbage collection. The code generator transforms the output of the FAST compiler front end into an abstract machine code. This code explicitly uses a call stack, which is accessible to the garbage collector. In contrast to other functional language compilers that generate assembly directly, FCG uses the C compiler for code generation, providing high-quality code optimisations and portability. To make full use of the C compiler’s capabilities, FCG includes an optimisation scheme that transforms the naively generated stack-based code into a register-based equivalent form. The results for a benchmark of functional programs show that code generated by FCG performs well in comparison with the LML compiler.
|Number of pages||19|
|Publication status||Published - Oct 1992|
|Event||4th International Conference on Compiler construction, CC 1992 - Paderborn, Germany|
Duration: 4 Oct 1992 → 6 Oct 1992
Conference number: 4
|Other||4th International Conference on Compiler construction, CC 1992|
|Period||4/10/92 → 6/10/92|