• Simon Marlow's avatar
    Merge FUN_STATIC closure with its SRT · 838b6903
    Simon Marlow authored
    Summary:
    The idea here is to save a little code size and some work in the GC,
    by collapsing FUN_STATIC closures and their SRTs.
    
    This is (4) in a series; see D4632 for more details.
    
    There's a tradeoff here: more complexity in the compiler in exchange
    for a modest code size reduction (probably around 0.5%).
    
    Results:
    * GHC binary itself (statically linked) is 1% smaller
    * -0.2% binary sizes in nofib (-0.5% module sizes)
    
    Full nofib results comparing D4634 with this: P177 (ignore runtimes,
    these aren't stable on my laptop)
    
    Test Plan: validate, nofib
    
    Reviewers: bgamari, niteria, simonpj, erikd
    
    Subscribers: thomie, carter
    
    Differential Revision: https://phabricator.haskell.org/D4637
    838b6903
Compact.c 26.2 KB