-
Notifications
You must be signed in to change notification settings - Fork 13k
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
rustc_interface: Dismantle register_plugins
query
#114578
Conversation
r? @jackh726 (rustbot has picked a reviewer for you, use r? to override) |
@bors r+ |
☀️ Test successful - checks-actions |
Finished benchmarking commit (6742e2b): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)ResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResultsThis is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 631.452s -> 632.482s (0.16%) |
Removes a piece of mutable state. Follow up to rust-lang#114578.
Removes a piece of mutable state. Follow up to rust-lang#114578.
rustc: Move `crate_types` and `stable_crate_id` from `Session` to `GlobalCtxt` Removes two pieces of mutable state. Follow up to rust-lang#114578.
rustc: Move `crate_types` and `stable_crate_id` from `Session` to `GlobalCtxt` Removes two pieces of mutable state. Follow up to rust-lang/rust#114578.
Removes a piece of mutable state. Follow up to rust-lang#114578.
rustc: Move `crate_types` and `stable_crate_id` from `Session` to `GlobalCtxt` Removes two pieces of mutable state. Follow up to rust-lang/rust#114578.
Removes a piece of mutable state. Follow up to rust-lang#114578.
It did three independent things:
LintStore
Session
The
LintStore
construction (nowpasses::create_lint_store
) is more or less left in place.The incremental stuff is now moved into
fn dep_graph_future
.This helps us to start loading the dep graph a bit earlier.
The
Session
field initialization is moved to tcx construction point.Now that tcx is constructed early these fields don't even need to live in
Session
, they can live in tcx instead and be initialized at its creation (see the FIXME).Three previously existing
rustc_interface
queries are de-querified (register_plugins
,dep_graph_future
,dep_graph
) because they are only used locally infn global_ctxt
and their results don't need to be saved elsewhere.On the other hand,
crate_types
andstable_crate_id
are querified.They are used from different places and their use is very similar to the existing
crate_name
query in this regard.