The FCG code 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.
机构:
Univ Complutense, Fac Informat, Madrid 28040, SpainUniv Complutense, Fac Informat, Madrid 28040, Spain
de la Encina, Alberto
Hidalgo-Herrero, Mercedes
论文数: 0引用数: 0
h-index: 0
机构:
Univ Complutense, Fac Educ, Ctr Formac Prof, Madrid 28040, SpainUniv Complutense, Fac Informat, Madrid 28040, Spain
Hidalgo-Herrero, Mercedes
Llana, Luis
论文数: 0引用数: 0
h-index: 0
机构:
Univ Complutense, Fac Informat, Madrid 28040, Spain
Univ Complutense, Inst Tecnol Conocimiento, Madrid 28040, SpainUniv Complutense, Fac Informat, Madrid 28040, Spain
Llana, Luis
Rubio, Fernando
论文数: 0引用数: 0
h-index: 0
机构:
Univ Complutense, Fac Informat, Madrid 28040, Spain
Univ Complutense, Inst Tecnol Conocimiento, Madrid 28040, SpainUniv Complutense, Fac Informat, Madrid 28040, Spain