Exemple #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);
            }
        }
Exemple #2
0
            public LdelemFixAFixIMapping(MemoryMapperTransactionSite taSite, long[] indices) :
                base(taSite)
            {
                Contract.Requires(indices != null);
                Contract.Requires(indices.Length == 1);

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

                _indices = indices;
                taSite.IndicateWriteAccess(true);
            }
Exemple #4
0
 public MemIfBuilder(MemoryMapperTransactionSite taSite)
 {
     _taSite = taSite;
 }
Exemple #5
0
 public StelemFixAMapping(MemoryMapperTransactionSite taSite) :
     base(taSite)
 {
     taSite.IndicateWriteAccess(true);
 }
Exemple #6
0
 public AbstractXILMapping(MemoryMapperTransactionSite taSite)
 {
     _taSite = taSite;
 }
Exemple #7
0
 public LdelemFixAMapping(MemoryMapperTransactionSite taSite) :
     base(taSite)
 {
 }
        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;
            }
        }
 public MemIfBuilder(MemoryMapperTransactionSite taSite)
 {
     _taSite = taSite;
 }
            public StelemFixAFixIMapping(MemoryMapperTransactionSite taSite, long[] indices) :
                base(taSite)
            {
                Contract.Requires(indices != null);
                Contract.Requires(indices.Length == 1);

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

                _indices = indices;
            }
 public LdelemFixAMapping(MemoryMapperTransactionSite taSite):
     base(taSite)
 {
 }
 public AbstractXILMapping(MemoryMapperTransactionSite taSite)
 {
     _taSite = taSite;
 }