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

Still more ObligationForest improvements. #64805

Merged
merged 11 commits into from Oct 2, 2019

Commits on Sep 29, 2019

  1. Remove NodeState::OnDfsStack.

    It's not necessary; cycles (which are rare) can be detected by looking
    at the node stack.
    
    This change speeds things up slightly, as well as simplifying the code a
    little.
    nnethercote committed Sep 29, 2019
    Copy the full SHA
    3b506d9 View commit details
    Browse the repository at this point in the history
  2. Rename node_index as index.

    For consistency with other variables in this file.
    nnethercote committed Sep 29, 2019
    Copy the full SHA
    4a7fb8b View commit details
    Browse the repository at this point in the history
  3. Inline mark_as_waiting_from.

    It has a single call site, and the code is easier to read this way.
    nnethercote committed Sep 29, 2019
    Copy the full SHA
    85a56cb View commit details
    Browse the repository at this point in the history
  4. Copy the full SHA
    7130e6c View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    ea72650 View commit details
    Browse the repository at this point in the history
  6. Remove unnecessary uses of ObligationForest::scratch.

    They don't help performance at all, and just complicate things.
    nnethercote committed Sep 29, 2019
    Copy the full SHA
    22943ee View commit details
    Browse the repository at this point in the history
  7. Copy the full SHA
    6fb1f37 View commit details
    Browse the repository at this point in the history
  8. Convert some match expressions to ifs.

    These make the code more concise.
    nnethercote committed Sep 29, 2019
    Copy the full SHA
    9e67f19 View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    8a62bb1 View commit details
    Browse the repository at this point in the history
  10. Copy the full SHA
    2883c25 View commit details
    Browse the repository at this point in the history
  11. Avoid the popping loop at the end of compress().

    By collecting the done obligations (when necessary) in the main loop.
    This makes the code cleaner.
    
    The commit also changes the order in which successful obligations are
    returned -- they are now returned in the registered order, rather than
    reversed. Because this order doesn't actually matter, being only used by
    tests, the commit uses `sort()` to make the test agnostic w.r.t. the
    order.
    nnethercote committed Sep 29, 2019
    Copy the full SHA
    a820672 View commit details
    Browse the repository at this point in the history