Esempio n. 1
0
        public IXILMapping TryAllocate(Component host, XILInstr instr, TypeDescriptor[] operandTypes, TypeDescriptor[] resultTypes, IProject targetProject)
        {
            var far = instr.Operand as FixedArrayRef;

            if (far == null)
            {
                return(null);
            }

            var taSite = new MemoryMapperTransactionSite(this, host, far);

            switch (instr.Name)
            {
            case InstructionCodes.LdelemFixA:
                return(new LdelemFixAMapping(taSite));

            case InstructionCodes.LdelemFixAFixI:
                return(new LdelemFixAFixIMapping(taSite, far.Indices));

            case InstructionCodes.StelemFixA:
                return(new StelemFixAMapping(taSite));

            case InstructionCodes.StelemFixAFixI:
                return(new StelemFixAFixIMapping(taSite, far.Indices));

            default:
                return(null);
            }
        }
Esempio n. 2
0
            public LdelemFixAFixIMapping(MemoryMapperTransactionSite taSite, long[] indices) :
                base(taSite)
            {
                Contract.Requires(indices != null);
                Contract.Requires(indices.Length == 1);

                _indices = indices;
            }
Esempio n. 3
0
            public StelemFixAFixIMapping(MemoryMapperTransactionSite taSite, long[] indices) :
                base(taSite)
            {
                Contract.Requires(indices != null);
                Contract.Requires(indices.Length == 1);

                _indices = indices;
                taSite.IndicateWriteAccess(true);
            }
Esempio n. 4
0
 public MemIfBuilder(MemoryMapperTransactionSite taSite)
 {
     _taSite = taSite;
 }
Esempio n. 5
0
 public StelemFixAMapping(MemoryMapperTransactionSite taSite) :
     base(taSite)
 {
     taSite.IndicateWriteAccess(true);
 }
Esempio n. 6
0
 public AbstractXILMapping(MemoryMapperTransactionSite taSite)
 {
     _taSite = taSite;
 }
Esempio n. 7
0
 public LdelemFixAMapping(MemoryMapperTransactionSite taSite) :
     base(taSite)
 {
 }
Esempio n. 8
0
        public IXILMapping TryAllocate(Component host, XILInstr instr, TypeDescriptor[] operandTypes, TypeDescriptor[] resultTypes, IProject targetProject)
        {
            var far = instr.Operand as FixedArrayRef;
            if (far == null)
                return null;

            var taSite = new MemoryMapperTransactionSite(this, host, far);

            switch (instr.Name)
            {
                case InstructionCodes.LdelemFixA:
                    return new LdelemFixAMapping(taSite);

                case InstructionCodes.LdelemFixAFixI:
                    return new LdelemFixAFixIMapping(taSite, far.Indices);

                case InstructionCodes.StelemFixA:
                    return new StelemFixAMapping(taSite);

                case InstructionCodes.StelemFixAFixI:
                    return new StelemFixAFixIMapping(taSite, far.Indices);

                default:
                    return null;
            }
        }
Esempio n. 9
0
 public MemIfBuilder(MemoryMapperTransactionSite taSite)
 {
     _taSite = taSite;
 }
Esempio n. 10
0
            public StelemFixAFixIMapping(MemoryMapperTransactionSite taSite, long[] indices) :
                base(taSite)
            {
                Contract.Requires(indices != null);
                Contract.Requires(indices.Length == 1);

                _indices = indices;
                taSite.IndicateWriteAccess(true);
            }
Esempio n. 11
0
 public StelemFixAMapping(MemoryMapperTransactionSite taSite) :
     base(taSite)
 {
     taSite.IndicateWriteAccess(true);
 }
Esempio n. 12
0
            public LdelemFixAFixIMapping(MemoryMapperTransactionSite taSite, long[] indices) :
                base(taSite)
            {
                Contract.Requires(indices != null);
                Contract.Requires(indices.Length == 1);

                _indices = indices;
            }
Esempio n. 13
0
 public LdelemFixAMapping(MemoryMapperTransactionSite taSite):
     base(taSite)
 {
 }
Esempio n. 14
0
 public AbstractXILMapping(MemoryMapperTransactionSite taSite)
 {
     _taSite = taSite;
 }