Skip to content
  • Simon Peyton Jones's avatar
    Make arityType deal with join points · eb589645
    Simon Peyton Jones authored
    As Note [Eta-expansion and join points] describes,
    this patch makes arityType deal correctly with join points.
    What was there before was not wrong, but yielded lower
    arities than it could.
    
    Fixes #18328
    
    In base GHC this makes no difference to nofib.
    
            Program           Size    Allocs   Runtime   Elapsed  TotalMem
    --------------------------------------------------------------------------------
             n-body          -0.1%     -0.1%     -1.2%     -1.1%      0.0%
    --------------------------------------------------------------------------------
                Min          -0.1%     -0.1%    -55.0%    -56.5%      0.0%
                Max          -0.0%      0.0%    +16.1%    +13.4%      0.0%
     Geometric Mean          -0.0%     -0.0%    -30.1%    -31.0%     -0.0%
    
    But it starts to make real difference when we land the change to the
    way mkDupableAlts handles StrictArg, in fixing #13253 and friends.
    I think this is because we then get more non-inlined join points.
    eb589645