Skip to content
Snippets Groups Projects
Forked from cmucl / cmucl
Source project has a limited visibility.
  • rtoy's avatar
    ae65549e
    In some situations, the compiler spends an enormous amount of time · ae65549e
    rtoy authored
    computing the union of a bunch of disjoint integer types, usually from
    some DO loop.  This fix implements a hack to short-circuit that case
    by checking to see if the union is long enough and instead of
    returning the precise union, we return the smallest interval that
    contains all of the integer types in the union.  The max length of the
    union is set by *union-length-threshold*, defaulting to 50.
    
    This is a gross hack.  We should do something better than this.
    ae65549e
    History
    In some situations, the compiler spends an enormous amount of time
    rtoy authored
    computing the union of a bunch of disjoint integer types, usually from
    some DO loop.  This fix implements a hack to short-circuit that case
    by checking to see if the union is long enough and instead of
    returning the precise union, we return the smallest interval that
    contains all of the integer types in the union.  The max length of the
    union is set by *union-length-threshold*, defaulting to 50.
    
    This is a gross hack.  We should do something better than this.