Example #1
0
 public ArithInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, NumberArithOp arithOp, NumberArithType arithType, HighSsaRegister left, HighSsaRegister right, bool checkOverflow)
     : base(codeLocation)
 {
     m_dest = dest;
     m_arithOp = arithOp;
     m_arithType = arithType;
     m_left = left;
     m_right = right;
     m_checkOverflow = checkOverflow;
 }
Example #2
0
        public override void ReadHeader(TagRepository rpa, CatalogReader catalog, HighMethodBodyParseContext methodBody, HighCfgNodeHandle[] cfgNodes, List<HighSsaRegister> ssaRegisters, CodeLocationTag baseLocation, bool haveDebugInfo, BinaryReader reader)
        {
            m_arithOp = (NumberArithOp)reader.ReadByte();
            if (m_arithOp < 0 || m_arithOp >= NumberArithOp.NumHighOpTypes)
                throw new Exception("Invalid arith op");

            m_arithType = (NumberArithType)reader.ReadByte();
            if (m_arithType < 0 || m_arithType >= NumberArithType.NumHighArithTypes)
                throw new Exception("Invalid arith type");

            m_checkOverflow = reader.ReadBoolean();
        }