diff options
author | Bruce Forstall <brucefo@microsoft.com> | 2017-09-27 14:42:04 -0700 |
---|---|---|
committer | Bruce Forstall <brucefo@microsoft.com> | 2017-09-27 14:42:04 -0700 |
commit | 83124c7aaf7f4236e24f4c4fde3863f1736f7d47 (patch) | |
tree | cb7b80fb454bf721d60797ab797c7a3111adbf0a /src/vm/class.cpp | |
parent | 296aaf12b40ddd7478b6a14d6099f48b4b049438 (diff) | |
download | coreclr-83124c7aaf7f4236e24f4c4fde3863f1736f7d47.tar.gz coreclr-83124c7aaf7f4236e24f4c4fde3863f1736f7d47.tar.bz2 coreclr-83124c7aaf7f4236e24f4c4fde3863f1736f7d47.zip |
Fix issue with HFA altjit api
One case in the Interop\ArrayMarshalling\ByValArray\MarshalArrayByValTest\MarshalArrayByValTest.cmd
test marshals an array of strings as members of a struct. The !FEATURE_HFA
code for IsHFA() needs to check for value type before calling CheckForHFA(),
which will assert if it is not a value type.
Fixes #14196.
Diffstat (limited to 'src/vm/class.cpp')
-rw-r--r-- | src/vm/class.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/vm/class.cpp b/src/vm/class.cpp index e4268b57ec..9d82f775dc 100644 --- a/src/vm/class.cpp +++ b/src/vm/class.cpp @@ -1641,7 +1641,14 @@ bool MethodTable::IsHFA() #ifdef DACCESS_COMPILE return false; #else - return GetClass()->CheckForHFA(); + if (GetClass()->GetMethodTable()->IsValueType()) + { + return GetClass()->CheckForHFA(); + } + else + { + return false; + } #endif } #endif // !FEATURE_HFA |