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; }
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); }
public BranchInstruction(CodeLocationTag codeLocation, HighCfgNodeHandle target) : base(codeLocation) { m_target = new HighCfgEdge(this, target); }