move QueryKeyStringCache from rustc_middle to rustc_query_impl, where it actually used

also allows to drop measureme dep on rustc_middle
This commit is contained in:
klensy 2024-04-11 14:19:00 +03:00
parent 05ccc49a44
commit 124837d463
5 changed files with 13 additions and 18 deletions

View File

@ -4263,7 +4263,6 @@ dependencies = [
"either", "either",
"field-offset", "field-offset",
"gsgdt", "gsgdt",
"measureme",
"polonius-engine", "polonius-engine",
"rustc-rayon", "rustc-rayon",
"rustc-rayon-core", "rustc-rayon-core",

View File

@ -10,7 +10,6 @@ derivative = "2.2.0"
either = "1.5.0" either = "1.5.0"
field-offset = "0.3.5" field-offset = "0.3.5"
gsgdt = "0.1.2" gsgdt = "0.1.2"
measureme = "11"
polonius-engine = "0.13.0" polonius-engine = "0.13.0"
rustc-rayon = { version = "0.5.0", optional = true } rustc-rayon = { version = "0.5.0", optional = true }
rustc-rayon-core = { version = "0.5.0", optional = true } rustc-rayon-core = { version = "0.5.0", optional = true }

View File

@ -8,8 +8,6 @@ use crate::query::{
}; };
use crate::ty::TyCtxt; use crate::ty::TyCtxt;
use field_offset::FieldOffset; use field_offset::FieldOffset;
use measureme::StringId;
use rustc_data_structures::fx::FxHashMap;
use rustc_data_structures::sync::AtomicU64; use rustc_data_structures::sync::AtomicU64;
use rustc_data_structures::sync::WorkerLocal; use rustc_data_structures::sync::WorkerLocal;
use rustc_hir::def_id::{DefId, LocalDefId}; use rustc_hir::def_id::{DefId, LocalDefId};
@ -22,16 +20,6 @@ use rustc_query_system::HandleCycleError;
use rustc_span::{ErrorGuaranteed, Span, DUMMY_SP}; use rustc_span::{ErrorGuaranteed, Span, DUMMY_SP};
use std::ops::Deref; use std::ops::Deref;
pub struct QueryKeyStringCache {
pub def_id_cache: FxHashMap<DefId, StringId>,
}
impl QueryKeyStringCache {
pub fn new() -> QueryKeyStringCache {
QueryKeyStringCache { def_id_cache: Default::default() }
}
}
pub struct DynamicQuery<'tcx, C: QueryCache> { pub struct DynamicQuery<'tcx, C: QueryCache> {
pub name: &'static str, pub name: &'static str,
pub eval_always: bool, pub eval_always: bool,

View File

@ -13,6 +13,7 @@
extern crate rustc_middle; extern crate rustc_middle;
use crate::plumbing::{__rust_begin_short_backtrace, encode_all_query_results, try_mark_green}; use crate::plumbing::{__rust_begin_short_backtrace, encode_all_query_results, try_mark_green};
use crate::profiling_support::QueryKeyStringCache;
use field_offset::offset_of; use field_offset::offset_of;
use rustc_data_structures::stable_hasher::HashStable; use rustc_data_structures::stable_hasher::HashStable;
use rustc_data_structures::sync::AtomicU64; use rustc_data_structures::sync::AtomicU64;
@ -21,9 +22,7 @@ use rustc_middle::dep_graph::DepNodeIndex;
use rustc_middle::dep_graph::{self, DepKind, DepKindStruct}; use rustc_middle::dep_graph::{self, DepKind, DepKindStruct};
use rustc_middle::query::erase::{erase, restore, Erase}; use rustc_middle::query::erase::{erase, restore, Erase};
use rustc_middle::query::on_disk_cache::{CacheEncoder, EncodedDepNodeIndex, OnDiskCache}; use rustc_middle::query::on_disk_cache::{CacheEncoder, EncodedDepNodeIndex, OnDiskCache};
use rustc_middle::query::plumbing::{ use rustc_middle::query::plumbing::{DynamicQuery, QuerySystem, QuerySystemFns};
DynamicQuery, QueryKeyStringCache, QuerySystem, QuerySystemFns,
};
use rustc_middle::query::AsLocalKey; use rustc_middle::query::AsLocalKey;
use rustc_middle::query::{ use rustc_middle::query::{
queries, DynamicQueries, ExternProviders, Providers, QueryCaches, QueryEngine, QueryStates, queries, DynamicQueries, ExternProviders, Providers, QueryCaches, QueryEngine, QueryStates,

View File

@ -1,13 +1,23 @@
use measureme::{StringComponent, StringId}; use measureme::{StringComponent, StringId};
use rustc_data_structures::fx::FxHashMap;
use rustc_data_structures::profiling::SelfProfiler; use rustc_data_structures::profiling::SelfProfiler;
use rustc_hir::def_id::{CrateNum, DefId, DefIndex, LocalDefId, LOCAL_CRATE}; use rustc_hir::def_id::{CrateNum, DefId, DefIndex, LocalDefId, LOCAL_CRATE};
use rustc_hir::definitions::DefPathData; use rustc_hir::definitions::DefPathData;
use rustc_middle::query::plumbing::QueryKeyStringCache;
use rustc_middle::ty::TyCtxt; use rustc_middle::ty::TyCtxt;
use rustc_query_system::query::QueryCache; use rustc_query_system::query::QueryCache;
use std::fmt::Debug; use std::fmt::Debug;
use std::io::Write; use std::io::Write;
pub(crate) struct QueryKeyStringCache {
def_id_cache: FxHashMap<DefId, StringId>,
}
impl QueryKeyStringCache {
fn new() -> QueryKeyStringCache {
QueryKeyStringCache { def_id_cache: Default::default() }
}
}
struct QueryKeyStringBuilder<'p, 'tcx> { struct QueryKeyStringBuilder<'p, 'tcx> {
profiler: &'p SelfProfiler, profiler: &'p SelfProfiler,
tcx: TyCtxt<'tcx>, tcx: TyCtxt<'tcx>,