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`
…ister Revert "Reduce the amount of untracked state in TyCtxt" Reverts rust-lang/rust#85153 Fixes rust-lang/rust#85878 The performance hit is massive, and was not visible in the in-review perf run. r? `@Aaron1011`
…ister Revert "Reduce the amount of untracked state in TyCtxt" Reverts rust-lang/rust#85153 Fixes rust-lang/rust#85878 The performance hit is massive, and was not visible in the in-review perf run. 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.