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

unsorted method tables #35983

Merged
merged 2 commits into from
Jul 7, 2020
Merged

unsorted method tables #35983

merged 2 commits into from
Jul 7, 2020

Commits on Jul 2, 2020

  1. make method table definitions unsorted

    Rather than stopping at the first subtyping match, this scans the entire
    table of methods for intersections for every lookup. It then filters the
    results to remove ambiguities and sort for specificity order.
    
    Also exports the has_ambiguity computation from ml-matches, as it's
    cheap here to provide (already computed), and required by Core.Compiler
    (and also more correct than what the optimizer had been doing, though
    only on extreme hypothetical edge cases).
    vtjnash committed Jul 2, 2020
    Configuration menu
    Copy the full SHA
    258d04e View commit details
    Browse the repository at this point in the history
  2. improve use of limit in stopping method search

    We know that dispatch tuple signatures are always disjoint and
    most-specific over their intersection, so they are always going to be
    included in the result. We can use that knowledge to abort the search
    quickly as we discover that there will be many specific matches.
    vtjnash committed Jul 2, 2020
    Configuration menu
    Copy the full SHA
    ec8961c View commit details
    Browse the repository at this point in the history