From 83124c7aaf7f4236e24f4c4fde3863f1736f7d47 Mon Sep 17 00:00:00 2001 From: Bruce Forstall Date: Wed, 27 Sep 2017 14:42:04 -0700 Subject: [PATCH] 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. --- src/vm/class.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 -- 2.34.1