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

Collect reverse dependencies #802

Closed
wants to merge 33 commits into from

Commits on Jul 4, 2021

  1. Collect reverse dependencies

    If the caller provides us with a set of keys that have changed,
    the reverse dependencies are used to compute the transitive
    dependencies changed avoiding a call to firstJustWaitUnordered
    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    4bf8dbb View commit details
    Browse the repository at this point in the history
  2. don't use return

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    7cd0112 View commit details
    Browse the repository at this point in the history
  3. backwards compat.

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    c150aea View commit details
    Browse the repository at this point in the history
  4. redundant pragma

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    7b39567 View commit details
    Browse the repository at this point in the history
  5. export

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    e864c62 View commit details
    Browse the repository at this point in the history
  6. alwaysRerun

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    7e56674 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9a85eaa View commit details
    Browse the repository at this point in the history
  8. clarify error call

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    7f2d282 View commit details
    Browse the repository at this point in the history
  9. Unbreak early cutoff

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    d5693f8 View commit details
    Browse the repository at this point in the history
  10. Add some more comments

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    1867be0 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d4b49f6 View commit details
    Browse the repository at this point in the history
  12. Masking async exceptions

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    5c8c2a8 View commit details
    Browse the repository at this point in the history
  13. redundant import

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    6649576 View commit details
    Browse the repository at this point in the history
  14. add more diagnostics

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    c3983fa View commit details
    Browse the repository at this point in the history
  15. fix another bug

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    3d47a41 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    ba0fbe1 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    32a4f6c View commit details
    Browse the repository at this point in the history
  18. Existential wrapper for ShakeValue

    SomeShakeValue is a solution for heterogeneous lists of keys
    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    d01c40c View commit details
    Browse the repository at this point in the history
  19. fix typo

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    0dfbd0a View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    834a764 View commit details
    Browse the repository at this point in the history
  21. use getResult

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    d357f9f View commit details
    Browse the repository at this point in the history
  22. Add stateful dirty set to keep track across runs

    shakeRunDatabaseForKeys is an unsound approximation since it bypasses the
    version number checks. It is possible that a key K is not up to date and yet,
    because it doesn't belong to the dirty set, gets reused without updating.
    
    In what cases can this happen? The most common one is when a previous call to
    shakeRunDatabaseForKeys marked K dirty, but the evaluation didn't touch K so it
    didn't get recomputed. The current call to shakeRunDatabaseForKeys doesn't know
    this, and if the new dirty set doesn't include K but the evaluation uses it, the
    stale value will be reused.
    
    To avoid this, we persist (in memory only) the dirty set and remember it across
    runs. A key is removed from the persisted dirty set as it is refreshed.
    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    ee46bc2 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    67d2501 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    0f29380 View commit details
    Browse the repository at this point in the history
  25. redundant import

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    52ed87e View commit details
    Browse the repository at this point in the history
  26. comments

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    e0ee243 View commit details
    Browse the repository at this point in the history
  27. Configuration menu
    Copy the full SHA
    4270b2e View commit details
    Browse the repository at this point in the history
  28. imports

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    0313892 View commit details
    Browse the repository at this point in the history
  29. Compat. with GHC 8.0

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    e6c0199 View commit details
    Browse the repository at this point in the history
  30. shakeReverseDependencies

    Add an option to enable the tracking of reverse dependencies.
    Zero overhead for clients who do not care about them
    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    6669768 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    0a7ce83 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    ec620ac View commit details
    Browse the repository at this point in the history
  33. fix imports

    pepeiborra committed Jul 4, 2021
    Configuration menu
    Copy the full SHA
    35cdf3a View commit details
    Browse the repository at this point in the history