public BranchRefNullInstruction(CodeLocationTag codeLocation, HighSsaRegister value, HighCfgNodeHandle isNullNode, HighCfgNodeHandle isNotNullNode)
     : base(codeLocation)
 {
     m_value = value;
     m_isNullNode = new HighCfgEdge(this, isNullNode);
     m_isNotNullNode = new HighCfgEdge(this, isNotNullNode);
 }
 public BranchCompareRefsInstruction(CodeLocationTag codeLocation, HighSsaRegister regA, HighSsaRegister regB, HighCfgNodeHandle equalNode, HighCfgNodeHandle notEqualNode)
     : base(codeLocation)
 {
     m_regA = regA;
     m_regB = regB;
     m_equalNode = new HighCfgEdge(this, equalNode);
     m_notEqualNode = new HighCfgEdge(this, notEqualNode);
 }
 public BranchCompareNumbersInstruction(CodeLocationTag codeLocation, NumberCompareOperation operation, NumberArithType numberType, HighSsaRegister left, HighSsaRegister right, HighCfgNodeHandle trueNode, HighCfgNodeHandle falseNode)
     : base(codeLocation)
 {
     m_operation = operation;
     m_trueNode = new HighCfgEdge(this, trueNode);
     m_falseNode = new HighCfgEdge(this, falseNode);
     m_left = left;
     m_right = right;
     m_numberType = numberType;
 }
Example #4
0
        public SwitchInstruction(CodeLocationTag codeLocation, HighSsaRegister value, HighCfgNodeHandle[] cases, HighCfgNodeHandle defaultCase)
            : base(codeLocation)
        {
            int numCases = cases.Length;
            HighCfgEdge[] caseEdges = new HighCfgEdge[numCases];
            for (int i = 0; i < numCases; i++)
                caseEdges[i] = new HighCfgEdge(this, cases[i]);

            m_cases = caseEdges;
            m_value = value;
            m_defaultCase = new HighCfgEdge(this, defaultCase);
        }
Example #5
0
 public BranchInstruction(CodeLocationTag codeLocation, HighCfgNodeHandle target)
     : base(codeLocation)
 {
     m_target = new HighCfgEdge(this, target);
 }