public UnaryArithInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, NumberUnaryArithOp arithOp, NumberArithType arithType, HighSsaRegister src) : base(codeLocation) { m_dest = dest; m_arithOp = arithOp; m_arithType = arithType; m_src = src; }
public override void ReadHeader(TagRepository rpa, CatalogReader catalog, HighMethodBodyParseContext methodBody, HighCfgNodeHandle[] cfgNodes, List<HighSsaRegister> ssaRegisters, CodeLocationTag baseLocation, bool haveDebugInfo, BinaryReader reader) { m_arithOp = (NumberUnaryArithOp)reader.ReadByte(); if (m_arithOp < 0 || m_arithOp >= NumberUnaryArithOp.NumHighUnaryArithOpTypes) throw new Exception("Invalid unary arithmetic op"); m_arithType = (NumberArithType)reader.ReadByte(); if (m_arithType < 0 || m_arithType >= NumberArithType.NumHighArithTypes) throw new Exception("Invalid arith type"); }