Example #1
0
        public HighSsaRegister(HighValueType valueType, TypeSpecTag type, object constValue)
        {
            m_valueType = valueType;
            m_type = type;
            m_constValue = constValue;

            if ((valueType == HighValueType.ConstantString || valueType == HighValueType.ConstantValue) && constValue == null)
                throw new ArgumentException("Missing value for constant SSA");
        }
Example #2
0
 private static bool CanPhiMatchVT(HighValueType phiVT, HighValueType destVT)
 {
     switch (phiVT)
     {
         case HighValueType.ConstantString:
         case HighValueType.Null:
         case HighValueType.ReferenceValue:
             return destVT == HighValueType.ReferenceValue;
         case HighValueType.ConstantValue:
         case HighValueType.ValueValue:
             return destVT == HighValueType.ValueValue;
         case HighValueType.ManagedPtr:
             return destVT == HighValueType.ManagedPtr;
         default:
             throw new Exception();
     }
 }