提交 cf9186ec 编写于 作者: R Ralf Jung

interpret: only to track_caller in debug builds due to perf

上级 1e0f3cb5
...@@ -71,7 +71,7 @@ pub fn new_dyn_trait( ...@@ -71,7 +71,7 @@ pub fn new_dyn_trait(
} }
#[inline] #[inline]
#[track_caller] #[cfg_attr(debug_assertions, track_caller)] // only in debug builds due to perf (see #98980)
pub fn to_scalar_or_uninit(self) -> ScalarMaybeUninit<Tag> { pub fn to_scalar_or_uninit(self) -> ScalarMaybeUninit<Tag> {
match self { match self {
Immediate::Scalar(val) => val, Immediate::Scalar(val) => val,
...@@ -80,13 +80,13 @@ pub fn to_scalar_or_uninit(self) -> ScalarMaybeUninit<Tag> { ...@@ -80,13 +80,13 @@ pub fn to_scalar_or_uninit(self) -> ScalarMaybeUninit<Tag> {
} }
#[inline] #[inline]
#[track_caller] #[cfg_attr(debug_assertions, track_caller)] // only in debug builds due to perf (see #98980)
pub fn to_scalar(self) -> InterpResult<'tcx, Scalar<Tag>> { pub fn to_scalar(self) -> InterpResult<'tcx, Scalar<Tag>> {
self.to_scalar_or_uninit().check_init() self.to_scalar_or_uninit().check_init()
} }
#[inline] #[inline]
#[track_caller] #[cfg_attr(debug_assertions, track_caller)] // only in debug builds due to perf (see #98980)
pub fn to_scalar_or_uninit_pair(self) -> (ScalarMaybeUninit<Tag>, ScalarMaybeUninit<Tag>) { pub fn to_scalar_or_uninit_pair(self) -> (ScalarMaybeUninit<Tag>, ScalarMaybeUninit<Tag>) {
match self { match self {
Immediate::ScalarPair(val1, val2) => (val1, val2), Immediate::ScalarPair(val1, val2) => (val1, val2),
...@@ -95,7 +95,7 @@ pub fn to_scalar_or_uninit_pair(self) -> (ScalarMaybeUninit<Tag>, ScalarMaybeUni ...@@ -95,7 +95,7 @@ pub fn to_scalar_or_uninit_pair(self) -> (ScalarMaybeUninit<Tag>, ScalarMaybeUni
} }
#[inline] #[inline]
#[track_caller] #[cfg_attr(debug_assertions, track_caller)] // only in debug builds due to perf (see #98980)
pub fn to_scalar_pair(self) -> InterpResult<'tcx, (Scalar<Tag>, Scalar<Tag>)> { pub fn to_scalar_pair(self) -> InterpResult<'tcx, (Scalar<Tag>, Scalar<Tag>)> {
let (val1, val2) = self.to_scalar_or_uninit_pair(); let (val1, val2) = self.to_scalar_or_uninit_pair();
Ok((val1.check_init()?, val2.check_init()?)) Ok((val1.check_init()?, val2.check_init()?))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册