Remove Q parameter from query stats.

This commit is contained in:
Camille GILLOT 2020-03-06 20:33:13 +01:00
parent a18aa81bd8
commit d125bbb12b

View File

@ -1,5 +1,6 @@
use crate::ty::query::config::QueryAccessors; use crate::ty::query::caches::QueryCache;
use crate::ty::query::plumbing::QueryState; use crate::ty::query::config::{QueryAccessors, QueryConfig};
use crate::ty::query::plumbing::QueryStateImpl;
use crate::ty::query::queries; use crate::ty::query::queries;
use crate::ty::TyCtxt; use crate::ty::TyCtxt;
use rustc_hir::def_id::{DefId, LOCAL_CRATE}; use rustc_hir::def_id::{DefId, LOCAL_CRATE};
@ -37,9 +38,9 @@ struct QueryStats {
local_def_id_keys: Option<usize>, local_def_id_keys: Option<usize>,
} }
fn stats<'tcx, Q: QueryAccessors<'tcx>>( fn stats<'tcx, K, V, C: QueryCache<K, V>>(
name: &'static str, name: &'static str,
map: &QueryState<'tcx, Q>, map: &QueryStateImpl<'tcx, K, V, C>,
) -> QueryStats { ) -> QueryStats {
let mut stats = QueryStats { let mut stats = QueryStats {
name, name,
@ -47,10 +48,10 @@ fn stats<'tcx, Q: QueryAccessors<'tcx>>(
cache_hits: map.cache_hits.load(Ordering::Relaxed), cache_hits: map.cache_hits.load(Ordering::Relaxed),
#[cfg(not(debug_assertions))] #[cfg(not(debug_assertions))]
cache_hits: 0, cache_hits: 0,
key_size: mem::size_of::<Q::Key>(), key_size: mem::size_of::<K>(),
key_type: type_name::<Q::Key>(), key_type: type_name::<K>(),
value_size: mem::size_of::<Q::Value>(), value_size: mem::size_of::<V>(),
value_type: type_name::<Q::Value>(), value_type: type_name::<V>(),
entry_count: map.iter_results(|results| results.count()), entry_count: map.iter_results(|results| results.count()),
local_def_id_keys: None, local_def_id_keys: None,
}; };
@ -125,7 +126,11 @@ macro_rules! print_stats {
let mut queries = Vec::new(); let mut queries = Vec::new();
$($( $($(
queries.push(stats::<queries::$name<'_>>( queries.push(stats::<
<queries::$name<'_> as QueryConfig<'_>>::Key,
<queries::$name<'_> as QueryConfig<'_>>::Value,
<queries::$name<'_> as QueryAccessors<'_>>::Cache,
>(
stringify!($name), stringify!($name),
&tcx.queries.$name, &tcx.queries.$name,
)); ));