CORINFO_FIELD_INTRINSIC_ZERO, // intrinsic zero (IntPtr.Zero, UIntPtr.Zero)
CORINFO_FIELD_INTRINSIC_EMPTY_STRING, // intrinsic emptry string (String.Empty)
+#if COR_JIT_EE_VERSION > 460
+ CORINFO_FIELD_INTRINSIC_ISLITTLEENDIAN, // intrinsic BitConverter.IsLittleEndian
+#endif
};
// Set of flags returned in CORINFO_FIELD_INFO::fieldFlags
}
break;
+#if COR_JIT_EE_VERSION > 460
+ case CORINFO_FIELD_INTRINSIC_ISLITTLEENDIAN:
+ {
+ assert(aflags & CORINFO_ACCESS_GET);
+#if BIGENDIAN
+ op1 = gtNewIconNode(0, lclTyp);
+#else
+ op1 = gtNewIconNode(1, lclTyp);
+#endif
+ goto FIELD_DONE;
+ }
+ break;
+#endif
+
default:
assert(!"Unexpected fieldAccessor");
}
{
return CORINFO_FIELD_INTRINSIC_ZERO;
}
+ else
+ if (MscorlibBinder::GetField(FIELD__BITCONVERTER__ISLITTLEENDIAN) == field)
+ {
+ return CORINFO_FIELD_INTRINSIC_ISLITTLEENDIAN;
+ }
return (CORINFO_FIELD_ACCESSOR)-1;
}
// DEFINE_CLASS(UINTPTR, System, UIntPtr)
DEFINE_FIELD(UINTPTR, ZERO, Zero)
+DEFINE_CLASS(BITCONVERTER, System, BitConverter)
+DEFINE_FIELD(BITCONVERTER, ISLITTLEENDIAN, IsLittleEndian)
// Defined as element type alias
// DEFINE_CLASS(STRING, System, String)
DEFINE_FIELD(STRING, M_FIRST_CHAR, m_firstChar)
case CORINFO_FIELD_INTRINSIC_ZERO:
case CORINFO_FIELD_INTRINSIC_EMPTY_STRING:
+ case CORINFO_FIELD_INTRINSIC_ISLITTLEENDIAN:
break;
default: