avoid computing Scalar size/align in debug builds

This commit is contained in:
Ralf Jung
2022-05-11 13:32:19 +02:00
parent 761077e19e
commit 14f6daf935

View File

@@ -418,11 +418,11 @@ impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
(Immediate::ScalarPair(a_val, b_val), Abi::ScalarPair(a, b)) => { (Immediate::ScalarPair(a_val, b_val), Abi::ScalarPair(a, b)) => {
assert!(matches!(field_layout.abi, Abi::Scalar(..))); assert!(matches!(field_layout.abi, Abi::Scalar(..)));
Immediate::from(if offset.bytes() == 0 { Immediate::from(if offset.bytes() == 0 {
assert_eq!(field_layout.size, a.size(self)); debug_assert_eq!(field_layout.size, a.size(self));
a_val a_val
} else { } else {
assert_eq!(offset, a.size(self).align_to(b.align(self).abi)); debug_assert_eq!(offset, a.size(self).align_to(b.align(self).abi));
assert_eq!(field_layout.size, b.size(self)); debug_assert_eq!(field_layout.size, b.size(self));
b_val b_val
}) })
} }