public AllocArrayInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, HighSsaRegister[] sizes, TypeSpecTag targetType)
     : base(codeLocation)
 {
     m_dest = dest;
     m_sizes = sizes;
     m_type = targetType;
 }
 public NumberConvertInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, HighSsaRegister src, bool checkOverflow)
     : base(codeLocation)
 {
     m_dest = dest;
     m_src = src;
     m_checkOverflow = checkOverflow;
 }
 public BindVirtualDelegateInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, HighSsaRegister obj, MethodSpecTag methodSpec)
     : base(codeLocation)
 {
     m_dest = dest;
     m_object = obj;
     m_methodSpec = methodSpec;
 }
 public GetStaticFieldAddrInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, TypeSpecTag staticType, string fieldName)
     : base(codeLocation)
 {
     m_dest = dest;
     m_staticType = staticType;
     m_fieldName = fieldName;
 }
 public GetArrayElementPtrInstruction(CodeLocationTag codeLocation, HighSsaRegister addrDestReg, HighSsaRegister arrayReg, HighSsaRegister[] indexes)
     : base(codeLocation)
 {
     m_addrDestReg = addrDestReg;
     m_arrayReg = arrayReg;
     m_indexes = indexes;
 }
 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 DynamicCastInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, HighSsaRegister src, TypeSpecTag type)
     : base(codeLocation)
 {
     m_dest = dest;
     m_src = src;
     m_type = type;
 }
 public LoadValueFieldInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, HighSsaRegister src, string fieldName)
     : base(codeLocation)
 {
     m_dest = dest;
     m_src = src;
     m_fieldName = fieldName;
 }
Beispiel #9
0
 public PtrFieldInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, HighSsaRegister src, string field)
     : base(codeLocation)
 {
     m_dest = dest;
     m_src = src;
     m_field = field;
 }
 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 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 GetFieldInfoInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, TypeSpecTag type, string fieldName, bool isStatic)
     : base(codeLocation)
 {
     m_dest = dest;
     m_type = type;
     m_fieldName = fieldName;
     m_isStatic = isStatic;
 }
Beispiel #13
0
 public RefFieldInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, HighSsaRegister src, string field, TypeSpecTag type)
     : base(codeLocation)
 {
     m_dest = dest;
     m_src = src;
     m_field = field;
     m_type = type;
 }
 public CallInstanceMethodInstruction(CodeLocationTag codeLocation, HighSsaRegister returnDestReg, MethodSpecTag methodSpec, HighSsaRegister instanceReg, HighSsaRegister[] parameters)
     : base(codeLocation)
 {
     m_returnDestReg = returnDestReg;
     m_methodSpec = methodSpec;
     m_instanceReg = instanceReg;
     m_parameters = parameters;
 }
 public CallConstrainedVirtualMethodInstruction(CodeLocationTag codeLocation, HighSsaRegister returnDestReg, TypeSpecTag constraintType, MethodSpecTag methodSpec, HighSsaRegister instanceReg, HighSsaRegister[] parameters)
     : base(codeLocation)
 {
     m_returnDestReg = returnDestReg;
     m_constraintType = constraintType;
     m_methodSpec = methodSpec;
     m_instanceReg = instanceReg;
     m_parameters = parameters;
 }
Beispiel #16
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;
 }
 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 CompareNumbersInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, NumberCompareOperation operation, NumberArithType numberType, HighSsaRegister left, HighSsaRegister right, int trueValue, int falseValue)
     : base(codeLocation)
 {
     m_dest = dest;
     m_operation = operation;
     m_trueValue = trueValue;
     m_falseValue = falseValue;
     m_left = left;
     m_right = right;
     m_numberType = numberType;
 }
Beispiel #19
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);
        }
 public UnboxValueInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, HighSsaRegister src)
     : base(codeLocation)
 {
     m_dest = dest;
     m_src = src;
 }
 public ZeroFillPtrInstruction(CodeLocationTag codeLocation, HighSsaRegister target)
     : base(codeLocation)
 {
     m_target = target;
 }
 public ReturnValueInstruction(CodeLocationTag codeLocation, HighSsaRegister value)
     : base(codeLocation)
 {
     m_value = value;
 }
Beispiel #23
0
 public CatchInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, TypeSpecTag type)
     : base(codeLocation)
 {
     m_dest = dest;
     m_type = type;
 }
Beispiel #24
0
 public StorePtrInstruction(CodeLocationTag codeLocation, HighSsaRegister ptr, HighSsaRegister value)
     : base(codeLocation)
 {
     m_ptr = ptr;
     m_value = value;
 }
 public StoreLocalInstruction(CodeLocationTag codeLocation, HighLocal local, HighSsaRegister src)
     : base(codeLocation)
 {
     m_local = local;
     m_src = src;
 }
 public GetLocalPtrInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, HighLocal local)
     : base(codeLocation)
 {
     m_dest = dest;
     m_local = local;
 }
 public BindStaticDelegateInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, MethodSpecTag methodSpec)
     : base(codeLocation)
 {
     m_dest = dest;
     m_methodSpec = methodSpec;
 }
 public GetArrayLengthInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, HighSsaRegister src)
     : base(codeLocation)
 {
     m_dest = dest;
     m_src = src;
 }
 public PassiveConvertInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, HighSsaRegister src)
     : base(codeLocation)
 {
     m_dest = dest;
     m_src = src;
 }
Beispiel #30
0
 public LoadPtrInstruction(CodeLocationTag codeLocation, HighSsaRegister dest, HighSsaRegister src)
     : base(codeLocation)
 {
     m_dest = dest;
     m_src = src;
 }