Remove an unnecessary use of with_session_globals
.
We can easily pass in the source map.
This commit is contained in:
parent
c1d3610ac1
commit
f049d5df10
2 changed files with 12 additions and 14 deletions
|
@ -54,7 +54,7 @@ impl base::BangProcMacro for BangProcMacro {
|
||||||
) -> Result<TokenStream, ErrorGuaranteed> {
|
) -> Result<TokenStream, ErrorGuaranteed> {
|
||||||
let _timer =
|
let _timer =
|
||||||
ecx.sess.prof.generic_activity_with_arg_recorder("expand_proc_macro", |recorder| {
|
ecx.sess.prof.generic_activity_with_arg_recorder("expand_proc_macro", |recorder| {
|
||||||
recorder.record_arg_with_span(ecx.expansion_descr(), span);
|
recorder.record_arg_with_span(ecx.sess.source_map(), ecx.expansion_descr(), span);
|
||||||
});
|
});
|
||||||
|
|
||||||
let proc_macro_backtrace = ecx.ecfg.proc_macro_backtrace;
|
let proc_macro_backtrace = ecx.ecfg.proc_macro_backtrace;
|
||||||
|
@ -85,7 +85,7 @@ impl base::AttrProcMacro for AttrProcMacro {
|
||||||
) -> Result<TokenStream, ErrorGuaranteed> {
|
) -> Result<TokenStream, ErrorGuaranteed> {
|
||||||
let _timer =
|
let _timer =
|
||||||
ecx.sess.prof.generic_activity_with_arg_recorder("expand_proc_macro", |recorder| {
|
ecx.sess.prof.generic_activity_with_arg_recorder("expand_proc_macro", |recorder| {
|
||||||
recorder.record_arg_with_span(ecx.expansion_descr(), span);
|
recorder.record_arg_with_span(ecx.sess.source_map(), ecx.expansion_descr(), span);
|
||||||
});
|
});
|
||||||
|
|
||||||
let proc_macro_backtrace = ecx.ecfg.proc_macro_backtrace;
|
let proc_macro_backtrace = ecx.ecfg.proc_macro_backtrace;
|
||||||
|
@ -134,7 +134,11 @@ impl MultiItemModifier for DeriveProcMacro {
|
||||||
let stream = {
|
let stream = {
|
||||||
let _timer =
|
let _timer =
|
||||||
ecx.sess.prof.generic_activity_with_arg_recorder("expand_proc_macro", |recorder| {
|
ecx.sess.prof.generic_activity_with_arg_recorder("expand_proc_macro", |recorder| {
|
||||||
recorder.record_arg_with_span(ecx.expansion_descr(), span);
|
recorder.record_arg_with_span(
|
||||||
|
ecx.sess.source_map(),
|
||||||
|
ecx.expansion_descr(),
|
||||||
|
span,
|
||||||
|
);
|
||||||
});
|
});
|
||||||
let proc_macro_backtrace = ecx.ecfg.proc_macro_backtrace;
|
let proc_macro_backtrace = ecx.ecfg.proc_macro_backtrace;
|
||||||
let strategy = exec_strategy(ecx);
|
let strategy = exec_strategy(ecx);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
use crate::source_map::SourceMap;
|
||||||
|
|
||||||
use std::borrow::Borrow;
|
use std::borrow::Borrow;
|
||||||
|
|
||||||
use rustc_data_structures::profiling::EventArgRecorder;
|
use rustc_data_structures::profiling::EventArgRecorder;
|
||||||
|
@ -11,25 +13,17 @@ pub trait SpannedEventArgRecorder {
|
||||||
///
|
///
|
||||||
/// Note: when self-profiling with costly event arguments, at least one argument
|
/// Note: when self-profiling with costly event arguments, at least one argument
|
||||||
/// needs to be recorded. A panic will be triggered if that doesn't happen.
|
/// needs to be recorded. A panic will be triggered if that doesn't happen.
|
||||||
fn record_arg_with_span<A>(&mut self, event_arg: A, span: crate::Span)
|
fn record_arg_with_span<A>(&mut self, source_map: &SourceMap, event_arg: A, span: crate::Span)
|
||||||
where
|
where
|
||||||
A: Borrow<str> + Into<String>;
|
A: Borrow<str> + Into<String>;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl SpannedEventArgRecorder for EventArgRecorder<'_> {
|
impl SpannedEventArgRecorder for EventArgRecorder<'_> {
|
||||||
fn record_arg_with_span<A>(&mut self, event_arg: A, span: crate::Span)
|
fn record_arg_with_span<A>(&mut self, source_map: &SourceMap, event_arg: A, span: crate::Span)
|
||||||
where
|
where
|
||||||
A: Borrow<str> + Into<String>,
|
A: Borrow<str> + Into<String>,
|
||||||
{
|
{
|
||||||
self.record_arg(event_arg);
|
self.record_arg(event_arg);
|
||||||
|
self.record_arg(source_map.span_to_embeddable_string(span));
|
||||||
let span_arg = crate::with_session_globals(|session_globals| {
|
|
||||||
if let Some(source_map) = &*session_globals.source_map.borrow() {
|
|
||||||
source_map.span_to_embeddable_string(span)
|
|
||||||
} else {
|
|
||||||
format!("{span:?}")
|
|
||||||
}
|
|
||||||
});
|
|
||||||
self.record_arg(span_arg);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue