From d24904380c7618fa6d85ef51538a0bfdd3283afd Mon Sep 17 00:00:00 2001 From: Weihang Lo Date: Fri, 24 Feb 2023 14:51:00 +0000 Subject: [PATCH] Remove the entry point triggering `-Zjobserver-per-rustc` --- src/cargo/core/compiler/context/mod.rs | 24 ------------------------ src/cargo/core/compiler/mod.rs | 9 +-------- src/cargo/core/features.rs | 2 -- 3 files changed, 1 insertion(+), 34 deletions(-) diff --git a/src/cargo/core/compiler/context/mod.rs b/src/cargo/core/compiler/context/mod.rs index 0d87d89d810d..3f13f086c952 100644 --- a/src/cargo/core/compiler/context/mod.rs +++ b/src/cargo/core/compiler/context/mod.rs @@ -71,11 +71,6 @@ pub struct Context<'a, 'cfg> { /// metadata files in addition to the rlib itself. rmeta_required: HashSet, - /// When we're in jobserver-per-rustc process mode, this keeps those - /// jobserver clients for each Unit (which eventually becomes a rustc - /// process). - pub rustc_clients: HashMap, - /// Map of the LTO-status of each unit. This indicates what sort of /// compilation is happening (only object, only bitcode, both, etc), and is /// precalculated early on. @@ -124,7 +119,6 @@ impl<'a, 'cfg> Context<'a, 'cfg> { primary_packages: HashSet::new(), files: None, rmeta_required: HashSet::new(), - rustc_clients: HashMap::new(), lto: HashMap::new(), metadata_for_doc_units: HashMap::new(), failed_scrape_units: Arc::new(Mutex::new(HashSet::new())), @@ -614,24 +608,6 @@ impl<'a, 'cfg> Context<'a, 'cfg> { self.rmeta_required.contains(unit) } - /// Used by `-Zjobserver-per-rustc`. - pub fn new_jobserver(&mut self) -> CargoResult { - let tokens = self.bcx.jobs() as usize; - let client = Client::new(tokens).with_context(|| "failed to create jobserver")?; - - // Drain the client fully - for i in 0..tokens { - client.acquire_raw().with_context(|| { - format!( - "failed to fully drain {}/{} token from jobserver at startup", - i, tokens, - ) - })?; - } - - Ok(client) - } - /// Finds metadata for Doc/Docscrape units. /// /// rustdoc needs a -Cmetadata flag in order to recognize StableCrateIds that refer to diff --git a/src/cargo/core/compiler/mod.rs b/src/cargo/core/compiler/mod.rs index fdfddc63d37d..eed0085cfb6c 100644 --- a/src/cargo/core/compiler/mod.rs +++ b/src/cargo/core/compiler/mod.rs @@ -715,14 +715,7 @@ fn prepare_rustc( base.env("CARGO_TARGET_TMPDIR", tmp.display().to_string()); } - if cx.bcx.config.cli_unstable().jobserver_per_rustc { - let client = cx.new_jobserver()?; - base.inherit_jobserver(&client); - base.arg("-Z").arg("jobserver-token-requests"); - assert!(cx.rustc_clients.insert(unit.clone(), client).is_none()); - } else { - base.inherit_jobserver(&cx.jobserver); - } + base.inherit_jobserver(&cx.jobserver); build_base_args(cx, &mut base, unit, crate_types)?; build_deps_args(&mut base, cx, unit)?; Ok(base) diff --git a/src/cargo/core/features.rs b/src/cargo/core/features.rs index f2c58d9f43f4..9ef177f67358 100644 --- a/src/cargo/core/features.rs +++ b/src/cargo/core/features.rs @@ -716,7 +716,6 @@ unstable_cli_options!( doctest_xcompile: bool = ("Compile and run doctests for non-host target using runner config"), dual_proc_macros: bool = ("Build proc-macros for both the host and the target"), features: Option> = (HIDDEN), - jobserver_per_rustc: bool = (HIDDEN), minimal_versions: bool = ("Resolve minimal dependency versions instead of maximum"), mtime_on_use: bool = ("Configure Cargo to update the mtime of used files"), no_index_update: bool = ("Do not update the registry index even if the cache is outdated"), @@ -966,7 +965,6 @@ impl CliUnstable { "doctest-xcompile" => self.doctest_xcompile = parse_empty(k, v)?, "doctest-in-workspace" => self.doctest_in_workspace = parse_empty(k, v)?, "panic-abort-tests" => self.panic_abort_tests = parse_empty(k, v)?, - "jobserver-per-rustc" => self.jobserver_per_rustc = parse_empty(k, v)?, "host-config" => self.host_config = parse_empty(k, v)?, "target-applies-to-host" => self.target_applies_to_host = parse_empty(k, v)?, "publish-timeout" => self.publish_timeout = parse_empty(k, v)?,