Skip to content
  • Ben Gamari's avatar
    b5823d29
    CoreUnfold: Temporary workaround for #17615 · b5823d29
    Ben Gamari authored
    This is an awful but temporary workaround for #17615, where the case
    analysis from the 'ufVeryAggressive' selector causes the entire
    'DynFlags' to be unpacked into local bindings (due to binder swap). This
    results in a tremendous amount of stack spillage, severely bloating the
    code generated for 'callSiteInline'.
    
    The right solution here is likely to fix binder swap to avoid this
    terrible behavior (since there are likely other instances of this as
    well) but this case was serious enough that it showed up in a CPU
    profile and consequently
    
    Metric Decrease:
        T1969
        T15164
        WWRec
    b5823d29
    CoreUnfold: Temporary workaround for #17615
    Ben Gamari authored
    This is an awful but temporary workaround for #17615, where the case
    analysis from the 'ufVeryAggressive' selector causes the entire
    'DynFlags' to be unpacked into local bindings (due to binder swap). This
    results in a tremendous amount of stack spillage, severely bloating the
    code generated for 'callSiteInline'.
    
    The right solution here is likely to fix binder swap to avoid this
    terrible behavior (since there are likely other instances of this as
    well) but this case was serious enough that it showed up in a CPU
    profile and consequently
    
    Metric Decrease:
        T1969
        T15164
        WWRec
Loading