提交 003d5a63 编写于 作者: M Michael Woerister

self-profiling: Add events for tracking crate metadata loading related activities.

上级 9dbd7be7
......@@ -197,6 +197,9 @@ fn register_crate(
dep_kind: DepKind,
name: Symbol
) -> (CrateNum, Lrc<cstore::CrateMetadata>) {
let _prof_timer =
self.sess.prof.generic_activity("metadata_register_crate");
let crate_root = lib.metadata.get_root();
self.verify_no_symbol_conflicts(span, &crate_root);
......
......@@ -47,6 +47,9 @@ pub fn provide_extern<$lt>(providers: &mut Providers<$lt>) {
$tcx: TyCtxt<$lt>,
def_id_arg: T,
) -> <ty::queries::$name<$lt> as QueryConfig<$lt>>::Value {
let _prof_timer =
$tcx.prof.generic_activity("metadata_decode_entry");
#[allow(unused_variables)]
let ($def_id, $other) = def_id_arg.into_args();
assert!(!$def_id.is_local());
......@@ -444,6 +447,8 @@ pub fn item_children_untracked(
}
pub fn load_macro_untracked(&self, id: DefId, sess: &Session) -> LoadedMacro {
let _prof_timer = sess.prof.generic_activity("metadata_load_macro");
let data = self.get_crate_data(id.krate);
if data.is_proc_macro_crate() {
return LoadedMacro::ProcMacro(data.load_proc_macro(id.index, sess));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册