Copying this field for non-SIMD variables causes a later call to
`lvaSetStruct` to skip critical initialization steps. Skipping these
steps led to failures in GC stress due to uninitialized frame variables
that contained GC pointers.
#ifdef FEATURE_SIMD
lvaTable[shadowVar].lvSIMDType = varDsc->lvSIMDType;
- lvaTable[shadowVar].lvExactSize = varDsc->lvExactSize;
lvaTable[shadowVar].lvUsedInSIMDIntrinsic = varDsc->lvUsedInSIMDIntrinsic;
if (varDsc->lvSIMDType)
{
- lvaTable[shadowVar].lvBaseType = varDsc->lvBaseType;
+ lvaTable[shadowVar].lvExactSize = varDsc->lvExactSize;
+ lvaTable[shadowVar].lvBaseType = varDsc->lvBaseType;
}
#endif
lvaTable[shadowVar].lvRegStruct = varDsc->lvRegStruct;