-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Reduce the amount of untracked state in TyCtxt #85153
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
r? @Aaron1011 |
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit e7f85d5d56e67d76769f003cb66fd2c93aa8d66d with merge 570c16c920c6bcfc3414b8d72b0aac02b812c715... |
☀️ Try build successful - checks-actions |
Queued 570c16c920c6bcfc3414b8d72b0aac02b812c715 with parent 266f452, future comparison URL. |
Finished benchmarking try commit (570c16c920c6bcfc3414b8d72b0aac02b812c715): comparison url. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up. @bors rollup=never |
Because I see it being used here: |
It looks like the trait map is the only code that uses |
☔ The latest upstream changes (presumably #82272) made this pull request unmergeable. Please resolve the merge conflicts. |
☔ The latest upstream changes (presumably #83610) made this pull request unmergeable. Please resolve the merge conflicts. |
Only compute the trait map once Part of rust-lang#85153 r? `@Aaron1011`
Make is_private_dep a query. Part of rust-lang#85153 r? `@Aaron1011`
Restrict access to crate_name. Also remove original_crate_name, which had the exact same implementation. Part of rust-lang#85153
Avoid a clone of output_filenames. Part of rust-lang#85153
Drop metadata_encoding_version. Part of rust-lang#85153 r? `@Aaron1011`
Make allocator_kind a query. Part of rust-lang#85153 r? `@Aaron1011`
Drop metadata_encoding_version. Part of rust-lang#85153 r? `@Aaron1011`
Make allocator_kind a query. Part of rust-lang#85153 r? `@Aaron1011`
Reduce the amount of untracked state in TyCtxt -- Take 2 Main part of rust-lang#85153 The offending line (rust-lang#85153 (comment)) is replaced by a FIXME until the possible bug and the perf concern are both resolved. r? `@Aaron1011`
Access to untracked global state may generate instances of #84970.
The GlobalCtxt contains the lowered HIR, the resolver outputs and interners.
By wrapping the resolver inside a query, we make sure those accesses are properly tracked.
As a no_hash query, all dependent queries essentially become
eval_always
,what they should have been from the beginning.