mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 08:13:41 +00:00
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:
parent
05ccc49a44
commit
124837d463
@ -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",
|
||||||
|
@ -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 }
|
||||||
|
@ -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,
|
||||||
|
@ -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,
|
||||||
|
@ -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>,
|
||||||
|
Loading…
Reference in New Issue
Block a user