Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[beta] backports #77490

Merged
merged 9 commits into from
Oct 3, 2020
Merged

[beta] backports #77490

merged 9 commits into from
Oct 3, 2020

Commits on Oct 3, 2020

  1. Only visit types once when walking the type tree

    This fixes rust-lang#72408.
    
    Nested closures were resulting in exponential compilation time.
    
    As a performance optimization this change introduces MiniSet,
    which is a simple small storage optimized set.
    VFLashM authored and Mark-Simulacrum committed Oct 3, 2020
    Configuration menu
    Copy the full SHA
    7c4c96c View commit details
    Browse the repository at this point in the history
  2. Better handling for exponential-sized types in misc places

    Mostly to fix ui/issues/issue-37311-type-length-limit/issue-37311.rs.
    
    Most parts of the compiler can handle deeply nested types with a lot
    of duplicates just fine, but some parts still attempt to naively
    traverse type tree.
    
    Before such problems were caught by type length limit check,
    but now these places will have to be changed to handle
    duplicated types gracefully.
    VFLashM authored and Mark-Simulacrum committed Oct 3, 2020
    Configuration menu
    Copy the full SHA
    87022d0 View commit details
    Browse the repository at this point in the history
  3. Intorduced MiniMap - a tiny small storage optimized map implementation

    This makes everything about 1% faster in rustc-perf,
    mostly negating performance hit of previous commit.
    VFLashM authored and Mark-Simulacrum committed Oct 3, 2020
    Configuration menu
    Copy the full SHA
    507dd1d View commit details
    Browse the repository at this point in the history
  4. Remove redundancy in cache key

    tmandry authored and Mark-Simulacrum committed Oct 3, 2020
    Configuration menu
    Copy the full SHA
    b0db534 View commit details
    Browse the repository at this point in the history
  5. cache types during normalization

    lcnr authored and Mark-Simulacrum committed Oct 3, 2020
    Configuration menu
    Copy the full SHA
    7dca7cc View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5b3a05a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5c29a94 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    f3ab317 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    bf38fa5 View commit details
    Browse the repository at this point in the history