Skip to content

Rollup of 8 pull requests #134292

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

Merged
merged 26 commits into from
Dec 14, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8200c1e
rustdoc-search: fix mismatched path when parent re-exported twice
notriddle Dec 12, 2024
7880aba
crashes: more tests v2
matthiaskrgr Dec 12, 2024
65a54a7
Tweak multispan rendering
estebank Dec 11, 2024
49a22a4
Filter empty lines, comments and delimiters from previous to last mul…
estebank Dec 11, 2024
4c6d793
Only dist `llvm-objcopy` if llvm tools are enabled
cuviper Dec 13, 2024
65a609b
validate `--skip` and `--exclude` paths
onur-ozkan Dec 12, 2024
ead78fd
Remove jobserver from Session
bjorn3 Dec 12, 2024
981f625
Remove registered_lints field from Session
bjorn3 Dec 12, 2024
ea9e8c1
Explain why an untranslatable_diagnostic occurs
bjorn3 Dec 12, 2024
3198496
Make dependency_formats an FxIndexMap rather than a list of tuples
bjorn3 Dec 12, 2024
af530c4
Use a more precise span in placeholder_type_error_diag
krtab Dec 13, 2024
e17ca31
rustc_borrowck: Make suggest_ampmut() return type match its use
Enselic Dec 13, 2024
d7fa8ee
Add regression test for issue 127562
Enselic Dec 13, 2024
2d2c6f2
rustc_borrowck: Stop suggesting the invalid syntax `&mut raw const`
Enselic Dec 13, 2024
f6cb227
rustc_borrowck: Convert suggest_ampmut() 4-tuple to struct for readab…
Enselic Dec 13, 2024
98318c5
rustdoc-search: update test with now-shorter function path
notriddle Dec 13, 2024
ad82d9f
Fix miri tests
estebank Dec 12, 2024
9f1044e
Account for `///` when rendering multiline spans
estebank Dec 13, 2024
2846699
Rollup merge of #134181 - estebank:trim-render, r=oli-obk
matthiaskrgr Dec 14, 2024
6cf13b0
Rollup merge of #134209 - onur-ozkan:check-skip-paths, r=jieyouxu
matthiaskrgr Dec 14, 2024
5b95be6
Rollup merge of #134231 - notriddle:notriddle/mismatched-path, r=Guil…
matthiaskrgr Dec 14, 2024
e4f9084
Rollup merge of #134236 - matthiaskrgr:tests12122024, r=compiler-errors
matthiaskrgr Dec 14, 2024
a53a3cc
Rollup merge of #134240 - cuviper:dist-llvm-tools, r=jieyouxu
matthiaskrgr Dec 14, 2024
34e6075
Rollup merge of #134244 - Enselic:no-mut-hint-for-raw-ref, r=jieyouxu
matthiaskrgr Dec 14, 2024
87bbbcd
Rollup merge of #134251 - bjorn3:various_cleanups2, r=oli-obk
matthiaskrgr Dec 14, 2024
75e7789
Rollup merge of #134256 - krtab:suggestion_overlapping, r=petrochenkov
matthiaskrgr Dec 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Remove jobserver from Session
It is effectively a global resource and the jobserver::Client in Session
was a clone of GLOBAL_CLIENT anyway.
  • Loading branch information
bjorn3 committed Dec 13, 2024
commit ead78fdfdf6692b2ecef7f47dfc934011c51fe4c
1 change: 0 additions & 1 deletion Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3507,7 +3507,6 @@ dependencies = [
"cc",
"either",
"itertools",
"jobserver",
"libc",
"object 0.36.5",
"pathdiff",
Expand Down
10 changes: 4 additions & 6 deletions compiler/rustc_codegen_cranelift/src/concurrency_limiter.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
use std::sync::{Arc, Condvar, Mutex};

use jobserver::HelperThread;
use rustc_data_structures::jobserver::{self, HelperThread};
use rustc_errors::DiagCtxtHandle;
use rustc_session::Session;

// FIXME don't panic when a worker thread panics

Expand All @@ -14,14 +13,13 @@ pub(super) struct ConcurrencyLimiter {
}

impl ConcurrencyLimiter {
pub(super) fn new(sess: &Session, pending_jobs: usize) -> Self {
pub(super) fn new(pending_jobs: usize) -> Self {
let state = Arc::new(Mutex::new(state::ConcurrencyLimiterState::new(pending_jobs)));
let available_token_condvar = Arc::new(Condvar::new());

let state_helper = state.clone();
let available_token_condvar_helper = available_token_condvar.clone();
let helper_thread = sess
.jobserver
let helper_thread = jobserver::client()
.clone()
.into_helper_thread(move |token| {
let mut state = state_helper.lock().unwrap();
Expand Down Expand Up @@ -113,7 +111,7 @@ impl Drop for ConcurrencyLimiterToken {
}

mod state {
use jobserver::Acquired;
use rustc_data_structures::jobserver::Acquired;

#[derive(Debug)]
pub(super) struct ConcurrencyLimiterState {
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_codegen_cranelift/src/driver/aot.rs
Original file line number Diff line number Diff line change
Expand Up @@ -679,7 +679,7 @@ pub(crate) fn run_aot(
metadata_module: None,
metadata,
crate_info: CrateInfo::new(tcx, target_cpu),
concurrency_limiter: ConcurrencyLimiter::new(tcx.sess, 0),
concurrency_limiter: ConcurrencyLimiter::new(0),
});
};

Expand Down Expand Up @@ -711,7 +711,7 @@ pub(crate) fn run_aot(
CguReuse::PreLto | CguReuse::PostLto => false,
});

let concurrency_limiter = IntoDynSyncSend(ConcurrencyLimiter::new(tcx.sess, todo_cgus.len()));
let concurrency_limiter = IntoDynSyncSend(ConcurrencyLimiter::new(todo_cgus.len()));

let modules = tcx.sess.time("codegen mono items", || {
let mut modules: Vec<_> = par_map(todo_cgus, |(_, cgu)| {
Expand Down
1 change: 0 additions & 1 deletion compiler/rustc_codegen_cranelift/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@
#![warn(unused_lifetimes)]
// tidy-alphabetical-end

extern crate jobserver;
#[macro_use]
extern crate rustc_middle;
extern crate rustc_abi;
Expand Down
1 change: 0 additions & 1 deletion compiler/rustc_codegen_ssa/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ bitflags = "2.4.1"
cc = "1.1.23"
either = "1.5.0"
itertools = "0.12"
jobserver = "0.1.28"
pathdiff = "0.2.0"
regex = "1.4"
rustc_abi = { path = "../rustc_abi" }
Expand Down
7 changes: 2 additions & 5 deletions compiler/rustc_codegen_ssa/src/back/write.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ use std::sync::Arc;
use std::sync::mpsc::{Receiver, Sender, channel};
use std::{fs, io, mem, str, thread};

use jobserver::{Acquired, Client};
use rustc_ast::attr;
use rustc_data_structures::fx::{FxHashMap, FxIndexMap};
use rustc_data_structures::jobserver::{self, Acquired};
use rustc_data_structures::memmap::Mmap;
use rustc_data_structures::profiling::{SelfProfilerRef, VerboseTimingGuard};
use rustc_errors::emitter::Emitter;
Expand Down Expand Up @@ -456,7 +456,6 @@ pub(crate) fn start_async_codegen<B: ExtraBackendMethods>(
metadata_module: Option<CompiledModule>,
) -> OngoingCodegen<B> {
let (coordinator_send, coordinator_receive) = channel();
let sess = tcx.sess;

let crate_attrs = tcx.hir().attrs(rustc_hir::CRATE_HIR_ID);
let no_builtins = attr::contains_name(crate_attrs, sym::no_builtins);
Expand All @@ -477,7 +476,6 @@ pub(crate) fn start_async_codegen<B: ExtraBackendMethods>(
shared_emitter,
codegen_worker_send,
coordinator_receive,
sess.jobserver.clone(),
Arc::new(regular_config),
Arc::new(metadata_config),
Arc::new(allocator_config),
Expand Down Expand Up @@ -1093,7 +1091,6 @@ fn start_executing_work<B: ExtraBackendMethods>(
shared_emitter: SharedEmitter,
codegen_worker_send: Sender<CguMessage>,
coordinator_receive: Receiver<Box<dyn Any + Send>>,
jobserver: Client,
regular_config: Arc<ModuleConfig>,
metadata_config: Arc<ModuleConfig>,
allocator_config: Arc<ModuleConfig>,
Expand Down Expand Up @@ -1145,7 +1142,7 @@ fn start_executing_work<B: ExtraBackendMethods>(
// get tokens on `coordinator_receive` which will
// get managed in the main loop below.
let coordinator_send2 = coordinator_send.clone();
let helper = jobserver
let helper = jobserver::client()
.into_helper_thread(move |token| {
drop(coordinator_send2.send(Box::new(Message::Token::<B>(token))));
})
Expand Down
2 changes: 1 addition & 1 deletion compiler/rustc_data_structures/src/jobserver.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use std::sync::{LazyLock, OnceLock};

pub use jobserver_crate::Client;
pub use jobserver_crate::{Acquired, Client, HelperThread};
use jobserver_crate::{FromEnv, FromEnvErrorKind};

// We can only call `from_env_ext` once per process
Expand Down
6 changes: 0 additions & 6 deletions compiler/rustc_session/src/session.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ use std::{env, fmt, io};

use rustc_data_structures::flock;
use rustc_data_structures::fx::{FxHashMap, FxIndexSet};
use rustc_data_structures::jobserver::{self, Client};
use rustc_data_structures::profiling::{SelfProfiler, SelfProfilerRef};
use rustc_data_structures::sync::{
DynSend, DynSync, Lock, Lrc, MappedReadGuard, ReadGuard, RwLock,
Expand Down Expand Up @@ -154,10 +153,6 @@ pub struct Session {
/// Data about code being compiled, gathered during compilation.
pub code_stats: CodeStats,

/// Loaded up early on in the initialization of this `Session` to avoid
/// false positives about a job server in our environment.
pub jobserver: Client,

/// This only ever stores a `LintStore` but we don't want a dependency on that type here.
pub lint_store: Option<Lrc<dyn LintStoreMarker>>,

Expand Down Expand Up @@ -1072,7 +1067,6 @@ pub fn build_session(
incr_comp_session: RwLock::new(IncrCompSession::NotInitialized),
prof,
code_stats: Default::default(),
jobserver: jobserver::client(),
lint_store: None,
registered_lints: false,
driver_lint_caps,
Expand Down