diff --git a/src/coreclr/src/vm/compile.cpp b/src/coreclr/src/vm/compile.cpp index bc3f4cae984f59..90673d7e2a7a12 100644 --- a/src/coreclr/src/vm/compile.cpp +++ b/src/coreclr/src/vm/compile.cpp @@ -4803,7 +4803,7 @@ static BOOL CanSatisfyConstraints(Instantiation typicalInst, Instantiation candi // -// This method has duplicated logic from bcl\system\collections\generic\comparer.cs +// This method has duplicated logic from coreclr\src\System.Private.CoreLib\src\System\Collections\Generic\ComparerHelpers.cs // static void SpecializeComparer(SString& ss, Instantiation& inst) { @@ -4843,33 +4843,21 @@ static void SpecializeComparer(SString& ss, Instantiation& inst) CorElementType et = elemTypeHnd.GetVerifierCorElementType(); if (et == ELEMENT_TYPE_I1 || et == ELEMENT_TYPE_I2 || - et == ELEMENT_TYPE_I4) - { - ss.Set(W("System.Collections.Generic.Int32EnumComparer`1")); - return; - } - if (et == ELEMENT_TYPE_U1 || + et == ELEMENT_TYPE_I4 || + et == ELEMENT_TYPE_I8 || + et == ELEMENT_TYPE_U1 || et == ELEMENT_TYPE_U2 || - et == ELEMENT_TYPE_U4) - { - ss.Set(W("System.Collections.Generic.UInt32EnumComparer`1")); - return; - } - if (et == ELEMENT_TYPE_I8) - { - ss.Set(W("System.Collections.Generic.Int64EnumComparer`1")); - return; - } - if (et == ELEMENT_TYPE_U8) + et == ELEMENT_TYPE_U4 || + et == ELEMENT_TYPE_U8) { - ss.Set(W("System.Collections.Generic.UInt64EnumComparer`1")); + ss.Set(W("System.Collections.Generic.EnumComparer`1")); return; } } } // -// This method has duplicated logic from bcl\system\collections\generic\equalitycomparer.cs +// This method has duplicated logic from coreclr\src\System.Private.CoreLib\src\System\Collections\Generic\ComparerHelpers.cs // and matching logic in jitinterface.cpp // static void SpecializeEqualityComparer(SString& ss, Instantiation& inst) @@ -4907,25 +4895,19 @@ static void SpecializeEqualityComparer(SString& ss, Instantiation& inst) if (elemTypeHnd.IsEnum()) { - // Note: We have different comparers for Short and SByte because for those types we need to make sure we call GetHashCode on the actual underlying type as the - // implementation of GetHashCode is more complex than for the other types. CorElementType et = elemTypeHnd.GetVerifierCorElementType(); - if (et == ELEMENT_TYPE_I4 || - et == ELEMENT_TYPE_U4 || - et == ELEMENT_TYPE_U2 || + if (et == ELEMENT_TYPE_I1 || et == ELEMENT_TYPE_I2 || + et == ELEMENT_TYPE_I4 || + et == ELEMENT_TYPE_I8 || et == ELEMENT_TYPE_U1 || - et == ELEMENT_TYPE_I1) + et == ELEMENT_TYPE_U2 || + et == ELEMENT_TYPE_U4 || + et == ELEMENT_TYPE_U8) { ss.Set(W("System.Collections.Generic.EnumEqualityComparer`1")); return; } - else if (et == ELEMENT_TYPE_I8 || - et == ELEMENT_TYPE_U8) - { - ss.Set(W("System.Collections.Generic.LongEnumEqualityComparer`1")); - return; - } } }