-
Simon Marlow authored
- Implement a small GC optimisation: when a static constructor has been determined to have no (indirect) CAF references, we set its static link field to a non-zero value (currently 1). This prevents the garbage collector from traversing this closure and transitively everything it points to, and thus should speed up GC a little. - Omit the static link field from static constructors which have no pointer fields (i.e. they are CONSTR_NOCAF_STATIC). - Add the padding words and the static link field for a static constructor at (AbsC) code generation time, rather than in the back ends. This eliminates some duplication between PprAbsC and AbsCStixGen.
2c71b5db