mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 06:44:35 +00:00
Enable tracing for all queryies
This commit is contained in:
parent
9add63257b
commit
0d5a738b8b
@ -4244,6 +4244,7 @@ dependencies = [
|
||||
"rustc_serialize",
|
||||
"rustc_session",
|
||||
"rustc_span",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -20,6 +20,7 @@ rustc_query_system = { path = "../rustc_query_system" }
|
||||
rustc_serialize = { path = "../rustc_serialize" }
|
||||
rustc_session = { path = "../rustc_session" }
|
||||
rustc_span = { path = "../rustc_span" }
|
||||
tracing = "0.1"
|
||||
|
||||
[features]
|
||||
rustc_use_parallel_compiler = ["rustc-rayon-core", "rustc_query_system/rustc_use_parallel_compiler"]
|
||||
|
@ -435,6 +435,8 @@ macro_rules! define_queries {
|
||||
|
||||
fn force_from_dep_node(tcx: TyCtxt<'_>, dep_node: DepNode) -> bool {
|
||||
if let Some(key) = recover(tcx, dep_node) {
|
||||
#[cfg(debug_assertions)]
|
||||
let _guard = tracing::span!(tracing::Level::TRACE, stringify!($name), ?key).entered();
|
||||
let tcx = QueryCtxt::from_tcx(tcx);
|
||||
force_query::<queries::$name<'_>, _>(tcx, key, dep_node);
|
||||
true
|
||||
@ -532,6 +534,7 @@ macro_rules! define_queries_struct {
|
||||
|
||||
$($(#[$attr])*
|
||||
#[inline(always)]
|
||||
#[tracing::instrument(level = "trace", skip(self, tcx))]
|
||||
fn $name(
|
||||
&'tcx self,
|
||||
tcx: TyCtxt<$tcx>,
|
||||
|
@ -675,6 +675,7 @@ where
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum QueryMode {
|
||||
Get,
|
||||
Ensure,
|
||||
@ -697,7 +698,6 @@ where
|
||||
None
|
||||
};
|
||||
|
||||
debug!("ty::query::get_query<{}>(key={:?}, span={:?})", Q::NAME, key, span);
|
||||
let (result, dep_node_index) = try_execute_query(
|
||||
tcx,
|
||||
Q::query_state(tcx),
|
||||
|
Loading…
Reference in New Issue
Block a user