-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Reduce the amount of untracked state in TyCtxt #85153
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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.