summaryrefslogtreecommitdiff
path: root/src/vm/fieldmarshaler.cpp
diff options
context:
space:
mode:
authorTanner Gooding <tagoo@outlook.com>2018-01-21 19:35:47 -0800
committerTanner Gooding <tagoo@outlook.com>2018-01-27 11:37:13 -0800
commitab4f699cef72204b96919447a3c5ca7034fcf567 (patch)
treec3187bd8fbe730f8ef1697f96068e0c5c06c2aac /src/vm/fieldmarshaler.cpp
parent7121570db6f356277647ebaa6d2185da489403e5 (diff)
downloadcoreclr-ab4f699cef72204b96919447a3c5ca7034fcf567.tar.gz
coreclr-ab4f699cef72204b96919447a3c5ca7034fcf567.tar.bz2
coreclr-ab4f699cef72204b96919447a3c5ca7034fcf567.zip
Updating the VM to properly pack the SIMD hardware intrinsic types.
Diffstat (limited to 'src/vm/fieldmarshaler.cpp')
-rw-r--r--src/vm/fieldmarshaler.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/vm/fieldmarshaler.cpp b/src/vm/fieldmarshaler.cpp
index 0685093483..b1a4a8b9b5 100644
--- a/src/vm/fieldmarshaler.cpp
+++ b/src/vm/fieldmarshaler.cpp
@@ -1669,7 +1669,9 @@ VOID EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing(
if (!(alignmentRequirement == 1 ||
alignmentRequirement == 2 ||
alignmentRequirement == 4 ||
- alignmentRequirement == 8))
+ alignmentRequirement == 8 ||
+ alignmentRequirement == 16 ||
+ alignmentRequirement == 32))
{
COMPlusThrowHR(COR_E_INVALIDPROGRAM, BFA_METADATA_CORRUPT);
}
@@ -1680,7 +1682,7 @@ VOID EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing(
// This assert means I forgot to special-case some NFT in the
// above switch.
- _ASSERTE(alignmentRequirement <= 8);
+ _ASSERTE(alignmentRequirement <= 32);
// Check if this field is overlapped with other(s)
pfwalk->m_fIsOverlapped = FALSE;
@@ -1806,7 +1808,9 @@ VOID EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing(
if (!(alignmentRequirement == 1 ||
alignmentRequirement == 2 ||
alignmentRequirement == 4 ||
- alignmentRequirement == 8))
+ alignmentRequirement == 8 ||
+ alignmentRequirement == 16 ||
+ alignmentRequirement == 32))
{
COMPlusThrowHR(COR_E_INVALIDPROGRAM, BFA_METADATA_CORRUPT);
}
@@ -1815,7 +1819,7 @@ VOID EEClassLayoutInfo::CollectLayoutFieldMetadataThrowing(
LargestAlignmentRequirement = max(LargestAlignmentRequirement, alignmentRequirement);
- _ASSERTE(alignmentRequirement <= 8);
+ _ASSERTE(alignmentRequirement <= 32);
// Insert enough padding to align the current data member.
while (cbCurOffset % alignmentRequirement)